Doublet removal
cl <- makeCluster(8)
registerDoParallel(cl)
clusterEvalQ(cl, {
library(Seurat)
library(DoubletFinder)
})
[[1]]
[1] "DoubletFinder" "Seurat" "SeuratObject" "sp" "stats" "graphics" "grDevices" "utils" "datasets" "methods" "base"
[[2]]
[1] "DoubletFinder" "Seurat" "SeuratObject" "sp" "stats" "graphics" "grDevices" "utils" "datasets" "methods" "base"
[[3]]
[1] "DoubletFinder" "Seurat" "SeuratObject" "sp" "stats" "graphics" "grDevices" "utils" "datasets" "methods" "base"
[[4]]
[1] "DoubletFinder" "Seurat" "SeuratObject" "sp" "stats" "graphics" "grDevices" "utils" "datasets" "methods" "base"
[[5]]
[1] "DoubletFinder" "Seurat" "SeuratObject" "sp" "stats" "graphics" "grDevices" "utils" "datasets" "methods" "base"
[[6]]
[1] "DoubletFinder" "Seurat" "SeuratObject" "sp" "stats" "graphics" "grDevices" "utils" "datasets" "methods" "base"
[[7]]
[1] "DoubletFinder" "Seurat" "SeuratObject" "sp" "stats" "graphics" "grDevices" "utils" "datasets" "methods" "base"
[[8]]
[1] "DoubletFinder" "Seurat" "SeuratObject" "sp" "stats" "graphics" "grDevices" "utils" "datasets" "methods" "base"
srat.list.wodoublets <- foreach(i = 1:length(srat_list), .packages = c("Seurat", "DoubletFinder")) %do% {
tryCatch({
set.seed(i)
print(paste("Processing sample:", i))
# Check if srat_list[[i]] is valid
if (is.null(srat_list[[i]])) {
message(paste("Skipping sample", i, "because it is NULL"))
return(NULL)
}
# Debugging: Check if data exists
print(dim(srat_list[[i]]@assays$RNA))
# pK identification
sweep.res.list_srat <- paramSweep(srat_list[[i]], PCs = 1:10, sct = FALSE)
sweep.stats_srat <- summarizeSweep(sweep.res.list_srat, GT = FALSE)
bcmvn_srat <- find.pK(sweep.stats_srat)
pK <- bcmvn_srat$pK[which.max(bcmvn_srat$BCmetric)]
pK <- as.numeric(as.character(pK))
print(paste("Selected pK:", pK))
# Doublet removal
nExp_poi <- round(0.035 * ncol(srat_list[[i]]@assays$RNA))
srat_list[[i]] <- doubletFinder(srat_list[[i]], PCs = 1:10, pN = 0.2, pK = pK,
nExp = nExp_poi, reuse.pANN = FALSE, sct = FALSE)
colnames(srat_list[[i]]@meta.data)[6:7] <- c("pANN", "classifications")
print(table(srat_list[[i]]@meta.data$classifications))
srat.wodoublets <- subset(srat_list[[i]], subset = classifications == "Singlet")
return(srat.wodoublets)
}, error = function(e) {
message(paste("Error in sample", i, ":", e$message))
return(NULL)
})
}
[1] "Processing sample: 1"
[1] 55357 3784
Loading required package: fields
Loading required package: spam
Spam version 2.11-0 (2024-10-03) is loaded.
Type 'help( Spam)' or 'demo( spam)' for a short introduction
and overview of this package.
Help for individual functions is also obtained by adding the
suffix '.spam' to the function name, e.g. 'help( chol.spam)'.
Attaching package: ‘spam’
The following object is masked from ‘package:stats4’:
mle
The following objects are masked from ‘package:base’:
backsolve, forwardsolve
Loading required package: viridisLite
Try help(fields) to get started.
[1] "Creating artificial doublets for pN = 5%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 10%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 15%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 20%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 25%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 30%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
Loading required package: KernSmooth
KernSmooth 2.23 loaded
Copyright M. P. Wand 1997-2009
Loading required package: ROCR
NULL
[1] "Selected pK: 0.14"
[1] "Creating 946 artificial doublets..."
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Computing pANN..."
[1] "Classifying doublets.."
Doublet Singlet
132 3652
[1] "Processing sample: 2"
[1] 55357 6931
[1] "Creating artificial doublets for pN = 5%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 10%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 15%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 20%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 25%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 30%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."

NULL
[1] "Selected pK: 0.005"
[1] "Creating 1733 artificial doublets..."
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Computing pANN..."
[1] "Classifying doublets.."
Doublet Singlet
243 6688
[1] "Processing sample: 3"
[1] 55357 3822
[1] "Creating artificial doublets for pN = 5%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 10%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 15%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 20%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 25%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 30%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."

NULL
[1] "Selected pK: 0.005"
[1] "Creating 956 artificial doublets..."
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Computing pANN..."
[1] "Classifying doublets.."
Doublet Singlet
134 3688
[1] "Processing sample: 4"
[1] 55357 3635
[1] "Creating artificial doublets for pN = 5%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 10%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 15%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 20%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 25%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 30%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."

NULL
[1] "Selected pK: 0.01"
[1] "Creating 909 artificial doublets..."
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Computing pANN..."
[1] "Classifying doublets.."
Doublet Singlet
127 3508
[1] "Processing sample: 5"
[1] 55357 1467
[1] "Creating artificial doublets for pN = 5%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 10%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 15%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 20%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 25%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 30%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."

NULL
[1] "Selected pK: 0.02"
[1] "Creating 367 artificial doublets..."
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Computing pANN..."
[1] "Classifying doublets.."
Doublet Singlet
51 1416
[1] "Processing sample: 6"
[1] 55357 3328
[1] "Creating artificial doublets for pN = 5%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 10%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 15%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 20%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 25%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 30%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."

NULL
[1] "Selected pK: 0.01"
[1] "Creating 832 artificial doublets..."
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Computing pANN..."
[1] "Classifying doublets.."
Doublet Singlet
116 3212
[1] "Processing sample: 7"
[1] 55357 5511
[1] "Creating artificial doublets for pN = 5%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 10%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 15%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 20%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 25%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 30%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."

NULL
[1] "Selected pK: 0.005"
[1] "Creating 1378 artificial doublets..."
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Computing pANN..."
[1] "Classifying doublets.."
Doublet Singlet
193 5318
[1] "Processing sample: 8"
[1] 55357 10838
[1] "Creating artificial doublets for pN = 5%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.001..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 10%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.001..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 15%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.001..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 20%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.001..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 25%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.001..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 30%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.001..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."

NULL
[1] "Selected pK: 0.005"
[1] "Creating 2710 artificial doublets..."
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Computing pANN..."
[1] "Classifying doublets.."
Doublet Singlet
379 10459
[1] "Processing sample: 9"
[1] 55357 4133
[1] "Creating artificial doublets for pN = 5%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 10%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 15%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 20%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 25%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 30%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."

NULL
[1] "Selected pK: 0.01"
[1] "Creating 1033 artificial doublets..."
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Computing pANN..."
[1] "Classifying doublets.."
Doublet Singlet
145 3988
[1] "Processing sample: 10"
[1] 55357 3825
[1] "Creating artificial doublets for pN = 5%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 10%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 15%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 20%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 25%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 30%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."

NULL
[1] "Selected pK: 0.27"
[1] "Creating 956 artificial doublets..."
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Computing pANN..."
[1] "Classifying doublets.."
Doublet Singlet
134 3691
[1] "Processing sample: 11"
[1] 55357 6820
[1] "Creating artificial doublets for pN = 5%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 10%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 15%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 20%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 25%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 30%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."

NULL
[1] "Selected pK: 0.005"
[1] "Creating 1705 artificial doublets..."
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Computing pANN..."
[1] "Classifying doublets.."
Doublet Singlet
239 6581
[1] "Processing sample: 12"
[1] 55357 3713
[1] "Creating artificial doublets for pN = 5%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 10%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 15%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 20%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 25%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 30%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."

NULL
[1] "Selected pK: 0.005"
[1] "Creating 928 artificial doublets..."
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Computing pANN..."
[1] "Classifying doublets.."
Doublet Singlet
130 3583
[1] "Processing sample: 13"
[1] 55357 5575
[1] "Creating artificial doublets for pN = 5%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 10%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 15%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 20%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 25%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 30%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."

NULL
[1] "Selected pK: 0.005"
[1] "Creating 1394 artificial doublets..."
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Computing pANN..."
[1] "Classifying doublets.."
Doublet Singlet
195 5380
[1] "Processing sample: 14"
[1] 55357 5750
[1] "Creating artificial doublets for pN = 5%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 10%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 15%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 20%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 25%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 30%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."

NULL
[1] "Selected pK: 0.005"
[1] "Creating 1438 artificial doublets..."
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Computing pANN..."
[1] "Classifying doublets.."
Doublet Singlet
201 5549
[1] "Processing sample: 15"
[1] 55357 3747
[1] "Creating artificial doublets for pN = 5%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 10%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 15%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 20%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 25%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 30%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."

NULL
[1] "Selected pK: 0.005"
[1] "Creating 937 artificial doublets..."
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Computing pANN..."
[1] "Classifying doublets.."
Doublet Singlet
131 3616
[1] "Processing sample: 16"
[1] 55357 3758
[1] "Creating artificial doublets for pN = 5%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 10%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 15%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 20%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 25%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 30%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."

NULL
[1] "Selected pK: 0.04"
[1] "Creating 940 artificial doublets..."
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Computing pANN..."
[1] "Classifying doublets.."
Doublet Singlet
132 3626
[1] "Processing sample: 17"
[1] 55357 4968
[1] "Creating artificial doublets for pN = 5%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 10%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 15%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 20%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 25%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 30%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."

NULL
[1] "Selected pK: 0.005"
[1] "Creating 1242 artificial doublets..."
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Computing pANN..."
[1] "Classifying doublets.."
Doublet Singlet
174 4794
[1] "Processing sample: 18"
[1] 55357 5131
[1] "Creating artificial doublets for pN = 5%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 10%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 15%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 20%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 25%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 30%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."

NULL
[1] "Selected pK: 0.005"
[1] "Creating 1283 artificial doublets..."
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Computing pANN..."
[1] "Classifying doublets.."
Doublet Singlet
180 4951
[1] "Processing sample: 19"
[1] 55357 4214
[1] "Creating artificial doublets for pN = 5%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 10%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 15%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 20%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 25%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 30%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."

NULL
[1] "Selected pK: 0.01"
[1] "Creating 1054 artificial doublets..."
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Computing pANN..."
[1] "Classifying doublets.."
Doublet Singlet
147 4067
[1] "Processing sample: 20"
[1] 55357 4369
[1] "Creating artificial doublets for pN = 5%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 10%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 15%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 20%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 25%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 30%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."

NULL
[1] "Selected pK: 0.01"
[1] "Creating 1092 artificial doublets..."
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Computing pANN..."
[1] "Classifying doublets.."
Doublet Singlet
153 4216
[1] "Processing sample: 21"
[1] 55357 3339
[1] "Creating artificial doublets for pN = 5%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 10%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 15%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 20%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 25%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 30%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."

NULL
[1] "Selected pK: 0.005"
[1] "Creating 835 artificial doublets..."
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Computing pANN..."
[1] "Classifying doublets.."
Doublet Singlet
117 3222
[1] "Processing sample: 22"
[1] 55357 3340
[1] "Creating artificial doublets for pN = 5%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 10%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 15%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 20%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 25%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 30%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."

NULL
[1] "Selected pK: 0.005"
[1] "Creating 835 artificial doublets..."
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|======================================================================================================== | 50%
|
|===============================================================================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Computing pANN..."
[1] "Classifying doublets.."
Doublet Singlet
117 3223

# Assign names
names(srat.list.wodoublets) <- names(srat_list)[!sapply(srat.list.wodoublets, is.null)]
#saveRDS(srat.list.wodoublets, file = "~/Git/P24-203/data/srat_list_wo_doublets.rds")
stopCluster(cl)
LS0tCnRpdGxlOiAiUDI0LTIwMyIKc3VidGl0bGU6ICJDb2RlIgpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sKLS0tCgojIFNFVFVQCmBgYHtyIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0V9CmxpYnJhcnkoaGFybW9ueSkKbGlicmFyeShTZXVyYXQpCmxpYnJhcnkoU291cFgpCmxpYnJhcnkocGF0Y2h3b3JrKQpsaWJyYXJ5KHNjcmFuKQpsaWJyYXJ5KGNvd3Bsb3QpCmxpYnJhcnkocGF0Y2h3b3JrKQpsaWJyYXJ5KGdncGxvdDIpCmxpYnJhcnkocmVzaGFwZTIpCmxpYnJhcnkoUG9seWNocm9tZSkKbGlicmFyeShmb3JlYWNoKQpsaWJyYXJ5KGRvUGFyYWxsZWwpCmxpYnJhcnkoR1NFQUJhc2UpCmxpYnJhcnkoQVVDZWxsKQpsaWJyYXJ5KHNjcmFuKQpsaWJyYXJ5KHNjdXR0bGUpCmxpYnJhcnkoaGVyZSkKbGlicmFyeShyZWFkcikKbGlicmFyeShzY0xpbmspCmBgYAoKIyBGdW5jdGlvbnMKYGBge3J9CnBsb3RfaW50ZWdyYXRlZF9jbHVzdGVycyA9IGZ1bmN0aW9uIChzcmF0KSB7IAogICMjIHRha2UgYW4gaW50ZWdyYXRlZCBTZXVyYXQgb2JqZWN0LCBwbG90IGRpc3RyaWJ1dGlvbnMgb3ZlciBvcmlnLmlkZW50CgogIGNvdW50X3RhYmxlIDwtIHRhYmxlKHNyYXRAbWV0YS5kYXRhJHNldXJhdF9jbHVzdGVycywgc3JhdEBtZXRhLmRhdGEkb3JpZy5pZGVudCkKICBjb3VudF9tdHggICA8LSBhcy5kYXRhLmZyYW1lLm1hdHJpeChjb3VudF90YWJsZSkKICBjb3VudF9tdHgkY2x1c3RlciA8LSByb3duYW1lcyhjb3VudF9tdHgpCiAgbWVsdF9tdHggICAgPC0gbWVsdChjb3VudF9tdHgpCiAgbWVsdF9tdHgkY2x1c3RlciA8LSBhcy5mYWN0b3IobWVsdF9tdHgkY2x1c3RlcikKICAKICBjbHVzdGVyX3NpemUgICA8LSBhZ2dyZWdhdGUodmFsdWUgfiBjbHVzdGVyLCBkYXRhID0gbWVsdF9tdHgsIEZVTiA9IHN1bSkKICAKICBzb3J0ZWRfbGFiZWxzIDwtIHBhc3RlKHNvcnQoYXMuaW50ZWdlcihsZXZlbHMoY2x1c3Rlcl9zaXplJGNsdXN0ZXIpKSxkZWNyZWFzaW5nID0gVCkpCiAgY2x1c3Rlcl9zaXplJGNsdXN0ZXIgPC0gZmFjdG9yKGNsdXN0ZXJfc2l6ZSRjbHVzdGVyLGxldmVscyA9IHNvcnRlZF9sYWJlbHMpCiAgbWVsdF9tdHgkY2x1c3RlciA8LSBmYWN0b3IobWVsdF9tdHgkY2x1c3RlcixsZXZlbHMgPSBzb3J0ZWRfbGFiZWxzKQogIAogIGNvbG5hbWVzKG1lbHRfbXR4KVsyXSA8LSAiZGF0YXNldCIKICAKICBtZWx0X210eCRkYXRhc2V0IDwtIGZhY3RvcihtZWx0X210eCRkYXRhc2V0LCBsZXZlbHMgPSB1bmlxdWUobWVsdF9tdHgkZGF0YXNldCkpCgogIG15X2NvbG9ycyA8LSBjcmVhdGVQYWxldHRlKGxlbmd0aCh1bmlxdWUobWVsdF9tdHgkZGF0YXNldCkpLCAgYygiI2ZmMDAwMCIsICIjMDBmZjAwIiwgIiMwMDAwZmYiKSkKIyBBc3NpZ24gbmFtZXMgdG8gbXlfY29sb3JzIHRoYXQgbWF0Y2ggdGhlIGxldmVscyBvZiBtZWx0X210eCRkYXRhc2V0CiAgbmFtZXMobXlfY29sb3JzKSA8LSBsZXZlbHMobWVsdF9tdHgkZGF0YXNldCkKICAKICBwMSA8LSBnZ3Bsb3QoY2x1c3Rlcl9zaXplLCBhZXMoeT0gY2x1c3Rlcix4ID0gdmFsdWUpKSArIGdlb21fYmFyKHBvc2l0aW9uPSJkb2RnZSIsIHN0YXQ9ImlkZW50aXR5IixmaWxsID0gImdyZXk2MCIpICsgCiAgICB0aGVtZV9idygpICsgc2NhbGVfeF9sb2cxMCgpICsgeGxhYigiQ2VsbHMgcGVyIGNsdXN0ZXIsIGxvZzEwIHNjYWxlIikgKyB5bGFiKCIiKQogIHAyIDwtIGdncGxvdChtZWx0X210eCxhZXMoeD1jbHVzdGVyLHk9dmFsdWUsZmlsbD1kYXRhc2V0KSkgKyAKICAgIGdlb21fYmFyKHBvc2l0aW9uPSJmaWxsIiwgc3RhdD0iaWRlbnRpdHkiKSArIHRoZW1lX2J3KCkgKyBjb29yZF9mbGlwKCkgKyAKICAgIHNjYWxlX2ZpbGxfbWFudWFsKHZhbHVlcyA9IG15X2NvbG9ycykgKwogICAgeWxhYigiRnJhY3Rpb24gb2YgY2VsbHMgaW4gZWFjaCBkYXRhc2V0IikgKyB4bGFiKCJDbHVzdGVyIG51bWJlciIpICsgdGhlbWUobGVnZW5kLnBvc2l0aW9uPSJ0b3AiKQogIAogIHAyICsgcDEgKyBwbG90X2xheW91dCh3aWR0aHMgPSBjKDMsMSkpCn0KYGBgCgojIExvYWQgZGF0YQpgYGB7cn0KZGF0YV9kaXJlY3RvcnkgPC0gIn4vR2l0L1AyNC0yMDMvZGF0YS9jb3VudC8iCnNhbXBsZV9uYW1lcyA8LSBsaXN0LmZpbGVzKGRhdGFfZGlyZWN0b3J5KQpgYGAKCiMgQ3JlYXRlIFNldXJhdCBvYmplY3QKYGBge3Igd2FybmluZz1GQUxTRX0KCm5hbWVzID0gYygiMTgxMDE1XzIxViIsICIxODEwMTVfMjJTIiwgIjE4MTIxN19BUG4xXzZWIiwgIjE4MTIxN19BUG4xXzEyVyIsCiAgICAgICAgICAiMTgxMjE3X0FQbjFfMTlTIiwiMTgxMjI4X0FQLXJuYS1ncmFkaWVudF8xNFYiLCAKICAgICAgICAgICIxODEyMjhfQVAtcm5hLWdyYWRpZW50XzIwVyIsICIxODEyMjhfQVAtcm5hLWdyYWRpZW50XzI3VyIsCiAgICAgICAgICAiMTgxMjI4X0FQLXJuYS1ncmFkaWVudF8zMVMiLCAiMTgxMjI4X0FQLXJuYS1ncmFkaWVudF8zNlMiLAogICAgICAgICAgIjE4MTIyOF9BUC1ybmEtd2FzaF85ViIsICIxODEyMjhfQVAtcm5hLXdhc2hfMTZXIiwgIjE4MTIyOF9BUC1ybmEtd2FzaF8yNlMiLAogICAgICAgICAgIjE5MDIyMl83VyIsICIxOTAyMjJfMzdXIiwgIjE5MDIyMl8zNFciLCAiMTkwMjIyXzM5UyIsIAogICAgICAgICAgIjE5MDIyMl80MFMiLCAiMTkwMjIyXzIzViIsICIxOTAyMjJfMjVWIiwgIlNSUjE5NjYxNzYwIiwgIlNSUjE5NjYxNzYxIikgCgpzdWZmaXggPSBjKCIvb3V0cy9maWx0ZXJlZF9mZWF0dXJlX2JjX21hdHJpeCIpCgpzYW1wbGUgPC0gZ3N1YigiLipfIiwgIiIsIG5hbWVzKQpzYW1wbGUgPC0gc29ydChzYW1wbGUpCm1ldGFkYXRhID0gYygpIAoKZm9yIChpIGluIDE6bGVuZ3RoKG5hbWVzKSl7CgogIGRhdGFfcGF0aCA8LSBwYXN0ZShwYXN0ZShkYXRhX2RpcmVjdG9yeSwgc2FtcGxlW2ldLCBzZXAgPSAiIiksIHN1ZmZpeCwgc2VwID0gIiIpIAogIGRhdGFfcGF0aCA8LSBub3JtYWxpemVQYXRoKGRhdGFfcGF0aCkKICBkYXRhIDwtIFJlYWQxMFgoZGF0YV9wYXRoKQogIGNvbG5hbWVzKGRhdGEpIDwtIHBhc3RlKHNhbXBsZVtpXSwgY29sbmFtZXMoZGF0YSksIHNlcCA9ICJfIikKCiAgbWV0YWRhdGEgPSBjKG1ldGFkYXRhLCByZXAoc2FtcGxlW2ldLCBuY29sKGRhdGEpKSkKICAKICBpZiAoaSA9PSAxKSB7CiAgICBkdmMuZGF0YSA9IGRhdGEKICB9IAogIGVsc2UgewogICAgZHZjLmRhdGEgPSBjYmluZChkdmMuZGF0YSwgZGF0YSkKICB9Cn0KCm1ldGFkYXRhID0gZGF0YS5mcmFtZShtZXRhZGF0YSkKY29sbmFtZXMobWV0YWRhdGEpID0gInNhbXBsZSIKcm93bmFtZXMobWV0YWRhdGEpID0gY29sbmFtZXMoZHZjLmRhdGEpCgpkdmMgPC0gQ3JlYXRlU2V1cmF0T2JqZWN0KGNvdW50cyA9IGR2Yy5kYXRhLCBtZXRhLmRhdGEgPSBtZXRhZGF0YSkKcm93bmFtZXMoZHZjQGFzc2F5cyRSTkFAbGF5ZXJzJGNvdW50cykgPC0gcm93bmFtZXMoZHZjQGFzc2F5cyRSTkEpCgpgYGAKCiMgUUMKYGBge3Igd2FybmluZz1GQUxTRSwgbWVzc2FnZT1GQUxTRX0KCm1pdG8uZ2VuZXMgPC0gZ3JlcChwYXR0ZXJuID0gIl5tdC0iLCB4ID0gcm93bmFtZXMoZHZjQGFzc2F5cyRSTkEpLCB2YWx1ZSA9IFRSVUUpCnBlcmNlbnQubWl0byA8LSBNYXRyaXg6OmNvbFN1bXMoZHZjQGFzc2F5cyRSTkFAbGF5ZXJzJGNvdW50c1ttaXRvLmdlbmVzLF0pL01hdHJpeDo6Y29sU3VtcyhkdmNAYXNzYXlzJFJOQUBsYXllcnMkY291bnRzKQoKcmliby5nZW5lcyA8LSBncmVwKHBhdHRlcm4gPSAiXlJwIiwgeCA9IHJvd25hbWVzKGR2Y0Bhc3NheXMkUk5BKSwgdmFsdWUgPSBUUlVFKQpwZXJjZW50LnJpYm8gPC0gTWF0cml4Ojpjb2xTdW1zKGR2Y0Bhc3NheXMkUk5BQGxheWVycyRjb3VudHNbcmliby5nZW5lcyxdKS9NYXRyaXg6OmNvbFN1bXMoZHZjQGFzc2F5cyRSTkFAbGF5ZXJzJGNvdW50cykKCiMgU2F2ZSBkYXRhIHRvIHRoZSBTZXVyYXQgb2JqZWN0Cm1pdG8ucmlibyA9IGFzLmRhdGEuZnJhbWUoY2JpbmQocGVyY2VudC5taXRvLCBwZXJjZW50LnJpYm8pKQpjb2xuYW1lcyhtaXRvLnJpYm8pID0gYygicGVyY2VudC5taXRvIiwgInBlcmNlbnQucmlibyIpCgpkdmMgPC0gQWRkTWV0YURhdGEob2JqZWN0ID0gZHZjLCBtZXRhZGF0YSA9IG1pdG8ucmlibykKCiMgQ3JlYXRlIHRoZSB2aW9saW4gcGxvdCBhbmQgYWRqdXN0IG1hcmdpbnMKdmxuIDwtIFZsblBsb3QoZHZjLCBmZWF0dXJlcyA9IGMoIm5GZWF0dXJlX1JOQSIsICJuQ291bnRfUk5BIiksIG5jb2wgPSAyKSAKCnByaW50KHZsbikKCnZsbjIgPC0gVmxuUGxvdChkdmMsIGZlYXR1cmVzID0gYygicGVyY2VudC5taXRvIiwgInBlcmNlbnQucmlibyIpLCBuY29sID0gMikKcHJpbnQodmxuMikKCmR2YyA8LSBzdWJzZXQoZHZjLCBzdWJzZXQgPSBwZXJjZW50Lm1pdG8gPCAuMDUpCgpkdmMubGlzdCA8LSBTcGxpdE9iamVjdChvYmplY3QgPSBkdmMsIHNwbGl0LmJ5ID0gInNhbXBsZSIpCmBgYAoKIyBEYXRhIG5vcm1hbGl6YXRpb24gcGVyIHNhbXBsZQpgYGB7ciB3YXJuaW5nPUZBTFNFfQpjbHVzdGVyX2Fzc2lnbm1lbnRzX2xpc3QgPC0gbGlzdCgpCmZvcihpIGluIDE6bGVuZ3RoKGR2Yy5saXN0KSkgewogIGR2Yy5saXN0W1tpXV0gPC0gTm9ybWFsaXplRGF0YShvYmplY3QgPSBkdmMubGlzdFtbaV1dLCB2ZXJib3NlID0gRkFMU0UpCiAgZHZjLmxpc3RbW2ldXSA8LSBGaW5kVmFyaWFibGVGZWF0dXJlcyhvYmplY3QgPSBkdmMubGlzdFtbaV1dLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0aW9uLm1ldGhvZCA9ICJ2c3QiLCBuZmVhdHVyZXMgPSAyMDAwLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVyYm9zZSA9IEZBTFNFKQogIGR2Yy5saXN0W1tpXV0gPC0gU2NhbGVEYXRhKGR2Yy5saXN0W1tpXV0sIHZhcnMudG8ucmVncmVzcyA9ICJuQ291bnRfUk5BIiwgdmVyYm9zZSA9IEZBTFNFKQogIGR2Yy5saXN0W1tpXV0gPC0gUnVuUENBKGR2Yy5saXN0W1tpXV0sIG5wY3MgPSAzMCwgdmVyYm9zZSA9IEZBTFNFKQogIGR2Yy5saXN0W1tpXV0gPC0gUnVuVU1BUChkdmMubGlzdFtbaV1dLCByZWR1Y3Rpb24gPSAicGNhIiwgZGltcyA9IDE6MzAsIHZlcmJvc2UgPSBGQUxTRSkKCiAgZHZjLmxpc3RbW2ldXSA8LSBGaW5kTmVpZ2hib3JzKG9iamVjdCA9IGR2Yy5saXN0W1tpXV0sIGRpbXMgPSAxOjMwLCB2ZXJib3NlID0gRkFMU0UpCiAgZHZjLmxpc3RbW2ldXSA8LSBGaW5kQ2x1c3RlcnMob2JqZWN0ID0gZHZjLmxpc3RbW2ldXSwgcmVzb2x1dGlvbiA9IDAuNCwgdmVyYm9zZSA9IEZBTFNFKSAgIyBBZGp1c3QgcmVzb2x1dGlvbiBhcyBuZWVkZWQKCiAgIyBTdG9yZSBjbHVzdGVyIGFzc2lnbm1lbnRzCiAgY2x1c3Rlcl9hc3NpZ25tZW50c19saXN0W1tzYW1wbGVfbmFtZXNbaV1dXSA8LSBkdmMubGlzdFtbaV1dQG1ldGEuZGF0YSRzZXVyYXRfY2x1c3RlcnMKICBuYW1lcyhjbHVzdGVyX2Fzc2lnbm1lbnRzX2xpc3RbW3NhbXBsZV9uYW1lc1tpXV1dKSA8LSBjb2xuYW1lcyhkdmMubGlzdFtbaV1dKQp9ICAKCnNhdmVSRFMoZHZjLmxpc3QsIGZpbGUgPSAifi9HaXQvUDI0LTIwMy9kYXRhL2R2Y19saXN0LnJkcyIpCmBgYAoKCiMgQW1iaWVudCBSTkEgcmVtb3ZhbApgYGB7cn0KCiMgRGlyZWN0b3J5IGNvbnRhaW5pbmcgeW91ciBkYXRhCmNvdW50c19kaXJlY3RvcnkgPC0gIn4vR2l0L1AyNC0yMDMvZGF0YS9jb3VudCIKc3VmZml4IDwtICIvb3V0cy8iCgojIEdldCBhbGwgc2FtcGxlIGRpcmVjdG9yaWVzIGluICJkYXRhL2NvdW50IgpzYW1wbGVfZGlycyA8LSBsaXN0LmRpcnMoY291bnRzX2RpcmVjdG9yeSwgZnVsbC5uYW1lcyA9IFRSVUUsIHJlY3Vyc2l2ZSA9IEZBTFNFKQpzYW1wbGVfZGlycyA8LSBzb3J0KHNhbXBsZV9kaXJzKQpzYW1wbGVfbmFtZXMgPC0gZ3N1YigiLiovIiwgIiIsIHNhbXBsZV9kaXJzKSAgIyBFeHRyYWN0IHNhbXBsZSBuYW1lcyBmcm9tIHRoZSBmb2xkZXIgcGF0aHMKCiMgU2V0IHVwIHBhcmFsbGVsIGJhY2tlbmQgKGFkanVzdCBjb3JlcyBhcyBuZWVkZWQpCmNsIDwtIG1ha2VDbHVzdGVyKDQpCnJlZ2lzdGVyRG9QYXJhbGxlbChjbCkKCiMgUGFyYWxsZWwgbG9vcCB0byBwcm9jZXNzIGFsbCBzYW1wbGVzCnNjc19saXN0IDwtIGZvcmVhY2goaSA9IDE6bGVuZ3RoKHNhbXBsZV9uYW1lcyksIC5wYWNrYWdlcyA9IGMoIlNldXJhdCIsICJTb3VwWCIsICJnZ3Bsb3QyIikpICVkb3BhciUgewogIAogIHNhbXBsZV9uYW1lIDwtIHNhbXBsZV9uYW1lc1tpXSAgIyBDb3JyZWN0ZWQgdmFyaWFibGUgbmFtZQogIAogICMgQ29uc3RydWN0IHBhdGhzIHRvIHJhdyBhbmQgZmlsdGVyZWQgZmVhdHVyZSBtYXRyaWNlcwogIGZpbHRlcmVkX3BhdGggPC0gcGFzdGUwKHNhbXBsZV9kaXJzW2ldLCBzdWZmaXgsICJmaWx0ZXJlZF9mZWF0dXJlX2JjX21hdHJpeCIpCiAgcmF3X3BhdGggPC0gcGFzdGUwKHNhbXBsZV9kaXJzW2ldLCBzdWZmaXgsICJyYXdfZmVhdHVyZV9iY19tYXRyaXgiKQogIAogICMgTG9hZCByYXcgYW5kIGZpbHRlcmVkIGNvdW50cyB1c2luZyBTZXVyYXQncyBSZWFkMTBYCiAgdG9jIDwtIFNldXJhdDo6UmVhZDEwWChmaWx0ZXJlZF9wYXRoKQogIHRvZCA8LSBTZXVyYXQ6OlJlYWQxMFgocmF3X3BhdGgpCiAgCiAgIyBFbnN1cmUgbWF0cmljZXMgYXJlIHNwYXJzZQogIHRvZCA8LSBhcyh0b2QsICJkZ0NNYXRyaXgiKSAgCiAgdG9jIDwtIGFzKHRvYywgImRnQ01hdHJpeCIpICAKCiAgIyBDcmVhdGUgYSBTb3VwQ2hhbm5lbCBvYmplY3QKICBzYyA8LSBTb3VwQ2hhbm5lbCh0b2QsIHRvYykKICBzYyR0b2QgPC0gdG9kCiAgCiAgIyBFc3RpbWF0ZSB0aGUgc291cCBwcm9maWxlIChhbWJpZW50IFJOQSkKICBzYyA8LSBlc3RpbWF0ZVNvdXAoc2MpCiAgCiAgIyBTdWJzZXQgam9pbmVkX3NldXJhdCB0byBvbmx5IGluY2x1ZGUgY2VsbHMgaW4gc2MkdG9jCiAgc2NfY2VsbHMgPC0gY29sbmFtZXMoc2MkdG9jKSAKICBzY19jZWxsc19yZW5hbWVkIDwtIHBhc3RlMChzYW1wbGVfbmFtZSwgIl8iLCBzY19jZWxscykKICAKICBkdmMuc3Vic2V0IDwtIHN1YnNldChkdmMubGlzdFtbc2FtcGxlX25hbWVdXSwgY2VsbHMgPSBzY19jZWxsc19yZW5hbWVkKQoKICAjY2x1c3Rlcl9hc3NpZ25tZW50c19zdWJzZXQgPC0gY2x1c3Rlcl9hc3NpZ25tZW50c1tjb2xuYW1lcyhqb2luZWRfc2V1cmF0X3N1YnNldCldCiAgCiAgIyBFeHRyYWN0IGNsdXN0ZXIgYXNzaWdubWVudHMKICBjbHVzdGVyX2Fzc2lnbm1lbnRzX3N1YnNldCA8LSBjbHVzdGVyX2Fzc2lnbm1lbnRzX2xpc3RbW3NhbXBsZV9uYW1lXV1bY29sbmFtZXMoZHZjLnN1YnNldCldCiAgbmFtZXMoY2x1c3Rlcl9hc3NpZ25tZW50c19zdWJzZXQpIDwtIGdzdWIoIl4uKl8iLCAiIiwgbmFtZXMoY2x1c3Rlcl9hc3NpZ25tZW50c19zdWJzZXQpKQoKICAjIEhhbmRsZSBtaXNzaW5nIGNlbGxzCiAgbWlzc2luZ19jZWxscyA8LSBzZXRkaWZmKGNvbG5hbWVzKHNjJHRvYyksIG5hbWVzKGNsdXN0ZXJfYXNzaWdubWVudHNfc3Vic2V0KSkKICBjbHVzdGVyX2Fzc2lnbm1lbnRzX3N1YnNldFttaXNzaW5nX2NlbGxzXSA8LSAwCgogICMgQWRkIGNsdXN0ZXIgYXNzaWdubWVudHMgdG8gU291cFggb2JqZWN0CiAgc2MgPC0gc2V0Q2x1c3RlcnMoc2MsIGNsdXN0ZXJfYXNzaWdubWVudHNfc3Vic2V0KQoKICAjIFNldCBkaW1lbnNpb25hbGl0eSByZWR1Y3Rpb24gZm9yIFNvdXBDaGFubmVsCiAgZHZjLnN1YnNldEBtZXRhLmRhdGEkUkQxIDwtIGR2Yy5zdWJzZXRAcmVkdWN0aW9ucyR1bWFwQGNlbGwuZW1iZWRkaW5nc1ssMV0KICBkdmMuc3Vic2V0QG1ldGEuZGF0YSRSRDIgPC0gZHZjLnN1YnNldEByZWR1Y3Rpb25zJHVtYXBAY2VsbC5lbWJlZGRpbmdzWywyXQogIAogIHNjIDwtIHNldERSKHNjLCBkdmMuc3Vic2V0QG1ldGEuZGF0YVtzY19jZWxsc19yZW5hbWVkLCBjKCJSRDEiLCAiUkQyIildKQoKICAjIEF1dG9tYXRpY2FsbHkgZXN0aW1hdGUgY29udGFtaW5hdGlvbgogIHNjIDwtIGF1dG9Fc3RDb250KHNjKQoKICAjIEFkanVzdCBjb3VudHMKICBhZGp1c3RlZF9jb3VudHMgPC0gYWRqdXN0Q291bnRzKHNjKQoKICAjIC0tLS0tIFBMT1RUSU5HIC0tLS0tCiAgZGQgPC0gbmEub21pdChkdmMuc3Vic2V0QG1ldGEuZGF0YVtzY19jZWxsc19yZW5hbWVkLCBdKQogIAogICMgUGxvdCBTZXVyYXQgQ2x1c3RlciBBbm5vdGF0aW9ucwogIG1pZHMgPSBhZ2dyZWdhdGUoY2JpbmQoUkQxLCBSRDIpIH4gc2V1cmF0X2NsdXN0ZXJzLCBkYXRhID0gZGQsIEZVTiA9IG1lYW4pCiAgZ2cgPSBnZ3Bsb3QoZGQsIGFlcyhSRDEsIFJEMikpICsKICAgICAgZ2VvbV9wb2ludChhZXMoY29sb3VyID0gc2V1cmF0X2NsdXN0ZXJzKSwgc2l6ZSA9IDAuMikgKwogICAgICBnZW9tX2xhYmVsKGRhdGEgPSBtaWRzLCBhZXMobGFiZWwgPSBzZXVyYXRfY2x1c3RlcnMpKSArCiAgICAgIGdndGl0bGUocGFzdGUwKHNhbXBsZV9uYW1lLCAiIC0gU2V1cmF0IENsdXN0ZXIgQW5ub3RhdGlvbiIpKSArCiAgICAgIGd1aWRlcyhjb2xvdXIgPSBndWlkZV9sZWdlbmQob3ZlcnJpZGUuYWVzID0gbGlzdChzaXplID0gMSkpKQogIGdnc2F2ZShwYXN0ZTAoc2FtcGxlX25hbWUsICJfU2V1cmF0X0NsdXN0ZXJfQW5ub3RhdGlvbi5wbmciKSwgZ2cpCgogICMgUGxvdCBHZnJhbCBleHByZXNzaW9uCiAgZGQkZ2ZyYWwgPC0gc2MkdG9jWyJHZnJhbCIsIGdzdWIoIl4uKl8iLCAiIiwgcm93bmFtZXMoZGQpKV0KICBnZzEgPC0gZ2dwbG90KGRkLCBhZXMoUkQxLCBSRDIpKSArIGdlb21fcG9pbnQoYWVzKGNvbG91ciA9IGdmcmFsID4gMCkpCiAgZ2dzYXZlKHBhc3RlMChzYW1wbGVfbmFtZSwgIl9HZnJhbF9FeHByZXNzaW9uLnBuZyIpLCBnZzEpCgogIGdnMV8yIDwtIHBsb3RNYXJrZXJNYXAoc2MsICJHZnJhbCIpCiAgZ2dzYXZlKHBhc3RlMChzYW1wbGVfbmFtZSwgIl9HZnJhbF9NYXJrZXJNYXAucG5nIiksIGdnMV8yKQoKICAjIFBsb3QgQWRjeXNyYXQxIGV4cHJlc3Npb24KICBkZCRhZGN5YXAxIDwtIHNjJHRvY1siQWRjeWFwMSIsIGdzdWIoIl4uKl8iLCAiIiwgcm93bmFtZXMoZGQpKV0KICBnZzIgPC0gZ2dwbG90KGRkLCBhZXMoUkQxLCBSRDIpKSArIGdlb21fcG9pbnQoYWVzKGNvbG91ciA9IGFkY3lhcDEgPiAwKSkKICBnZ3NhdmUocGFzdGUwKHNhbXBsZV9uYW1lLCAiX0FkY3lhcDFfRXhwcmVzc2lvbi5wbmciKSwgZ2cyKQoKICBnZzJfMiA8LSBwbG90TWFya2VyTWFwKHNjLCAiQWRjeWFwMSIpCiAgZ2dzYXZlKHBhc3RlMChzYW1wbGVfbmFtZSwgIl9BZGN5YXAxX01hcmtlck1hcC5wbmciKSwgZ2cyXzIpCgogICMgUGxvdCBDaGFuZ2UgTWFwcwogIGdnMV8zIDwtIHBsb3RDaGFuZ2VNYXAoc2MsIGFkanVzdGVkX2NvdW50cywgIkdmcmFsIikKICBnZzJfMyA8LSBwbG90Q2hhbmdlTWFwKHNjLCBhZGp1c3RlZF9jb3VudHMsICJBZGN5YXAxIikKICBnZ3NhdmUocGFzdGUwKHNhbXBsZV9uYW1lLCAiX0dmcmFsX0NoYW5nZU1hcC5wbmciKSwgZ2cxXzMpCiAgZ2dzYXZlKHBhc3RlMChzYW1wbGVfbmFtZSwgIl9BZGN5YXAxX0NoYW5nZU1hcC5wbmciKSwgZ2cyXzMpCgogICMgUmV0dXJuIHRoZSBwcm9jZXNzZWQgU291cENoYW5uZWwKICBsaXN0KHNhbXBsZV9uYW1lID0gc2FtcGxlX25hbWUsIHNjID0gc2MpCn0KCiMgU3RvcCB0aGUgY2x1c3RlciBhZnRlciBwcm9jZXNzaW5nCnN0b3BDbHVzdGVyKGNsKQoKIyBDb252ZXJ0IHJlc3VsdHMgaW50byBhIG5hbWVkIGxpc3QKc2NzIDwtIHNldE5hbWVzKGxhcHBseShzY3NfbGlzdCwgZnVuY3Rpb24oeCkgeCRzYyksIHNhcHBseShzY3NfbGlzdCwgZnVuY3Rpb24oeCkgeCRzYW1wbGVfbmFtZSkpCiNzYXZlUkRTKHNjcywgInNvdXBfY2hhbm5lbHNfdG1wLnJkcyIpCgpgYGAKCiMgQ3JlYXRlIFNldXJhdCBvYmplY3RzIGZvciBlYWNoIFNvdXAgY2hhbm5lbApgYGB7ciB3YXJuaW5nPUZBTFNFLCBtZXNzYWdlPUZBTFNFfQoKIyBDcmVhdGUgYW4gZW1wdHkgbGlzdCB0byBzdG9yZSBTZXVyYXQgb2JqZWN0cwpzcmF0X2xpc3QgPC0gbGlzdCgpCgojIEl0ZXJhdGUgdGhyb3VnaCBlYWNoIFNvdXBYIGNoYW5uZWwKZm9yIChub20gaW4gbmFtZXMoc2NzKSkgewogICAgIyBDbGVhbiBjaGFubmVsIG5hbWVkICdub20nCiAgICB0bXAgPC0gYWRqdXN0Q291bnRzKHNjc1tbbm9tXV0pCiAgICAKICAgICMgQWRkIGV4cGVyaW1lbnQgbmFtZSB0byBjZWxsIGJhcmNvZGVzIHRvIG1ha2UgdGhlbSB1bmlxdWUgKG9wdGlvbmFsKQogICAgY29sbmFtZXModG1wKSA8LSBwYXN0ZTAobm9tLCAiXyIsIGNvbG5hbWVzKHRtcCkpCgogICAgIyBDcmVhdGUgYSBTZXVyYXQgb2JqZWN0IGZvciB0aGUgY3VycmVudCBzYW1wbGUKICAgIHNyYXRfbGlzdFtbbm9tXV0gPC0gQ3JlYXRlU2V1cmF0T2JqZWN0KGNvdW50cyA9IHRtcCwgcHJvamVjdCA9IG5vbSkKfQpgYGAKCiMgTm9ybWFsaXphdGlvbiBhZnRlciBhbWJpZW50IFJOQSByZW1vdmFsCmBgYHtyIG1lc3NhZ2U9RkFMU0UsIHdhcm5pbmc9RkFMU0V9CnNyYXRfbGlzdCA8LSBsYXBwbHkoc3JhdF9saXN0LCBmdW5jdGlvbihzZXVyYXRfb2JqKSB7CiAgICBzZXVyYXRfb2JqIDwtIE5vcm1hbGl6ZURhdGEoc2V1cmF0X29iaikKICAgIHNldXJhdF9vYmogPC0gRmluZFZhcmlhYmxlRmVhdHVyZXMoc2V1cmF0X29iaiwgc2VsZWN0aW9uLm1ldGhvZCA9ICJ2c3QiLCBuZmVhdHVyZXMgPSAyMDAwLCB2ZXJib3NlID0gRkFMU0UpCiAgICBzZXVyYXRfb2JqIDwtIFNjYWxlRGF0YShzZXVyYXRfb2JqLCB2YXJzLnRvLnJlZ3Jlc3MgPSAibkNvdW50X1JOQSIsIHZlcmJvc2UgPSBGQUxTRSkKICAgIHNldXJhdF9vYmogPC0gUnVuUENBKHNldXJhdF9vYmosIG5wY3MgPSAzMCwgdmVyYm9zZSA9IEZBTFNFKQogICAgc2V1cmF0X29iaiA8LSBSdW5VTUFQKHNldXJhdF9vYmosIHJlZHVjdGlvbiA9ICJwY2EiLCBkaW1zID0gMTozMCwgdmVyYm9zZSA9IEZBTFNFKQogICAgc2V1cmF0X29iaiA8LSBGaW5kTmVpZ2hib3JzKHNldXJhdF9vYmosIGRpbXMgPSAxOjMwLCB2ZXJib3NlID0gRkFMU0UpCiAgICBzZXVyYXRfb2JqIDwtIEZpbmRDbHVzdGVycyhzZXVyYXRfb2JqLCByZXNvbHV0aW9uID0gMC40LCB2ZXJib3NlID0gRkFMU0UpCiAgICByZXR1cm4oc2V1cmF0X29iaikKfSkKc2F2ZVJEUyhzcmF0X2xpc3QsICJhZnRlcl9zb3VweF90bXAucmRzIikKYGBgCgoKIyBEb3VibGV0IHJlbW92YWwKYGBge3J9CmNsIDwtIG1ha2VDbHVzdGVyKDgpCnJlZ2lzdGVyRG9QYXJhbGxlbChjbCkKCmNsdXN0ZXJFdmFsUShjbCwgewogIGxpYnJhcnkoU2V1cmF0KQogIGxpYnJhcnkoRG91YmxldEZpbmRlcikKfSkKCnNyYXQubGlzdC53b2RvdWJsZXRzIDwtIGZvcmVhY2goaSA9IDE6bGVuZ3RoKHNyYXRfbGlzdCksIC5wYWNrYWdlcyA9IGMoIlNldXJhdCIsICJEb3VibGV0RmluZGVyIikpICVkbyUgewogIHRyeUNhdGNoKHsKICAgIHNldC5zZWVkKGkpCiAgICAKICAgIHByaW50KHBhc3RlKCJQcm9jZXNzaW5nIHNhbXBsZToiLCBpKSkgIAoKICAgICMgQ2hlY2sgaWYgc3JhdF9saXN0W1tpXV0gaXMgdmFsaWQKICAgIGlmIChpcy5udWxsKHNyYXRfbGlzdFtbaV1dKSkgewogICAgICBtZXNzYWdlKHBhc3RlKCJTa2lwcGluZyBzYW1wbGUiLCBpLCAiYmVjYXVzZSBpdCBpcyBOVUxMIikpCiAgICAgIHJldHVybihOVUxMKQogICAgfQoKICAgICMgRGVidWdnaW5nOiBDaGVjayBpZiBkYXRhIGV4aXN0cwogICAgcHJpbnQoZGltKHNyYXRfbGlzdFtbaV1dQGFzc2F5cyRSTkEpKSAgCgogICAgIyBwSyBpZGVudGlmaWNhdGlvbgogICAgc3dlZXAucmVzLmxpc3Rfc3JhdCA8LSBwYXJhbVN3ZWVwKHNyYXRfbGlzdFtbaV1dLCBQQ3MgPSAxOjEwLCBzY3QgPSBGQUxTRSkKICAgIHN3ZWVwLnN0YXRzX3NyYXQgPC0gc3VtbWFyaXplU3dlZXAoc3dlZXAucmVzLmxpc3Rfc3JhdCwgR1QgPSBGQUxTRSkKICAgIGJjbXZuX3NyYXQgPC0gZmluZC5wSyhzd2VlcC5zdGF0c19zcmF0KQogICAgcEsgPC0gYmNtdm5fc3JhdCRwS1t3aGljaC5tYXgoYmNtdm5fc3JhdCRCQ21ldHJpYyldCiAgICBwSyA8LSBhcy5udW1lcmljKGFzLmNoYXJhY3RlcihwSykpCgogICAgcHJpbnQocGFzdGUoIlNlbGVjdGVkIHBLOiIsIHBLKSkgIAoKICAgICMgRG91YmxldCByZW1vdmFsIAogICAgbkV4cF9wb2kgPC0gcm91bmQoMC4wMzUgKiBuY29sKHNyYXRfbGlzdFtbaV1dQGFzc2F5cyRSTkEpKQogICAgc3JhdF9saXN0W1tpXV0gPC0gZG91YmxldEZpbmRlcihzcmF0X2xpc3RbW2ldXSwgUENzID0gMToxMCwgcE4gPSAwLjIsIHBLID0gcEssIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbkV4cCA9IG5FeHBfcG9pLCByZXVzZS5wQU5OID0gRkFMU0UsIHNjdCA9IEZBTFNFKQoKICAgIGNvbG5hbWVzKHNyYXRfbGlzdFtbaV1dQG1ldGEuZGF0YSlbNjo3XSA8LSBjKCJwQU5OIiwgImNsYXNzaWZpY2F0aW9ucyIpCgogICAgcHJpbnQodGFibGUoc3JhdF9saXN0W1tpXV1AbWV0YS5kYXRhJGNsYXNzaWZpY2F0aW9ucykpCgogICAgc3JhdC53b2RvdWJsZXRzIDwtIHN1YnNldChzcmF0X2xpc3RbW2ldXSwgc3Vic2V0ID0gY2xhc3NpZmljYXRpb25zID09ICJTaW5nbGV0IikKCiAgICByZXR1cm4oc3JhdC53b2RvdWJsZXRzKSAgCiAgfSwgZXJyb3IgPSBmdW5jdGlvbihlKSB7CiAgICBtZXNzYWdlKHBhc3RlKCJFcnJvciBpbiBzYW1wbGUiLCBpLCAiOiIsIGUkbWVzc2FnZSkpCiAgICByZXR1cm4oTlVMTCkKICB9KQp9CgojIEFzc2lnbiBuYW1lcwpuYW1lcyhzcmF0Lmxpc3Qud29kb3VibGV0cykgPC0gbmFtZXMoc3JhdF9saXN0KVshc2FwcGx5KHNyYXQubGlzdC53b2RvdWJsZXRzLCBpcy5udWxsKV0KCiNzYXZlUkRTKHNyYXQubGlzdC53b2RvdWJsZXRzLCBmaWxlID0gIn4vR2l0L1AyNC0yMDMvZGF0YS9zcmF0X2xpc3Rfd29fZG91YmxldHMucmRzIikKCnN0b3BDbHVzdGVyKGNsKQoKCmBgYAoKIyBDb21iaW5lIGNsZWFuIHNldXJhdCBvYmplY3RzCmBgYHtyIG1lc3NhZ2U9RkFMU0UsIHdhcm5pbmc9RkFMU0V9CiNzcmF0Lmxpc3Qud29kb3VibGV0cyA8LSByZWFkUkRTKCJ+L0dpdC9QMjQtMjAzL2RhdGEvc3JhdF9saXN0X3dvX2RvdWJsZXRzLnJkcyIpCgpqb2luZWRfc2V1cmF0IDwtIG1lcmdlKHNyYXQubGlzdC53b2RvdWJsZXRzW1sxXV0sIHkgPSBzcmF0Lmxpc3Qud29kb3VibGV0c1stMV0sIG1lcmdlLmRhdGEgPSBUUlVFKQpgYGAKCiMgTm9ybWFsaXplIGpvaW5lZCBkYXRhIHNldApgYGB7ciB3YXJuaW5nPUZBTFNFfQpqb2luZWRfc2V1cmF0IDwtIE5vcm1hbGl6ZURhdGEob2JqZWN0ID0gam9pbmVkX3NldXJhdCwgdmVyYm9zZSA9IEZBTFNFKQpqb2luZWRfc2V1cmF0IDwtIEZpbmRWYXJpYWJsZUZlYXR1cmVzKG9iamVjdCA9IGpvaW5lZF9zZXVyYXQsIHNlbGVjdGlvbi5tZXRob2QgPSAidnN0IiwgbmZlYXR1cmVzID0gMjAwMCwgdmVyYm9zZSA9IEZBTFNFKQpqb2luZWRfc2V1cmF0IDwtIFNjYWxlRGF0YShqb2luZWRfc2V1cmF0LCB2YXJzLnRvLnJlZ3Jlc3MgPSAibkNvdW50X1JOQSIsIHZlcmJvc2UgPSBGQUxTRSkKam9pbmVkX3NldXJhdCA8LSBSdW5QQ0Eoam9pbmVkX3NldXJhdCwgbnBjcyA9IDMwLCB2ZXJib3NlID0gRkFMU0UpCmpvaW5lZF9zZXVyYXQgPC0gUnVuVU1BUChqb2luZWRfc2V1cmF0LCByZWR1Y3Rpb24gPSAicGNhIiwgZGltcyA9IDE6MzAsIHZlcmJvc2UgPSBGKQoKam9pbmVkX3NldXJhdCA8LSBGaW5kTmVpZ2hib3JzKG9iamVjdCA9IGpvaW5lZF9zZXVyYXQsIGRpbXMgPSAxOjMwLCB2ZXJib3NlID0gRkFMU0UpCmpvaW5lZF9zZXVyYXQgPC0gRmluZENsdXN0ZXJzKG9iamVjdCA9IGpvaW5lZF9zZXVyYXQsIHJlc29sdXRpb24gPSAwLjgsIHZlcmJvc2UgPSBGQUxTRSkgICMgQWRqdXN0IHJlc29sdXRpb24gYXMgbmVlZGVkCkRpbVBsb3Qoam9pbmVkX3NldXJhdCwgcmVkdWN0aW9uID0gInVtYXAiLCBncm91cC5ieSA9ICJzZXVyYXRfY2x1c3RlcnMiKQoKY2x1c3Rlcl9hc3NpZ25tZW50cyA8LSBqb2luZWRfc2V1cmF0QG1ldGEuZGF0YSRzZXVyYXRfY2x1c3RlcnMKCm5hbWVzKGNsdXN0ZXJfYXNzaWdubWVudHMpIDwtIGNvbG5hbWVzKGpvaW5lZF9zZXVyYXQpCgpzYXZlUkRTKGpvaW5lZF9zZXVyYXQsICJ+L0dpdC9QMjQtMjAzL2RhdGEvam9pbmVkX3NldXJhdC5yZHMiKQoKYGBgCgojIFBsb3QgYmVmb3JlIGludGVncmF0aW9uCmBgYHtyIG1lc3NhZ2U9RkFMU0UsIHdhcm5pbmc9RkFMU0V9CiMgQWRkIGEgbmV3IGNvbHVtbiB0byBpbmRpY2F0ZSB0aGUgc3R1ZHkKam9pbmVkX3NldXJhdCRzdHVkeSA8LSBpZmVsc2UoZ3JlcGwoIlNSUiIsIGNvbG5hbWVzKGpvaW5lZF9zZXVyYXQpKSwgIkdTRTIwNjE0NCIsICJHU0UxNjY2NDkiKQoKYmVmb3JlX2ludCA8LSBEaW1QbG90KGpvaW5lZF9zZXVyYXQscmVkdWN0aW9uID0gInVtYXAiLCBncm91cC5ieSA9ICJzdHVkeSIpICsgcGxvdF9hbm5vdGF0aW9uKHRpdGxlID0gIkJvdGggZGF0YSBzZXRzLCBiZWZvcmUgaW50ZWdyYXRpb24iKQpwcmludChiZWZvcmVfaW50KQpnZ3NhdmUoaGVyZSgiaW1nL2JlZm9yZV9pbnRlZ3JhdGlvbi5wbmciKSxiZWZvcmVfaW50KQpgYGAKCiMgSW50ZWdyYXRpb24KYGBge3IgbWVzc2FnZT1GQUxTRSwgd2FybmluZz1GQUxTRX0Kam9pbmVkX3NldXJhdCA8LSBqb2luZWRfc2V1cmF0ICU+JSBSdW5IYXJtb255KCJvcmlnLmlkZW50IiwgcGxvdF9jb252ZXJnZW5jZSA9IFQpCmBgYAoKIyBDaGVjayBlbWJlZGRpbmdzCmBgYHtyfQpoYXJtb255X2VtYmVkZGluZ3MgPC0gRW1iZWRkaW5ncyhqb2luZWRfc2V1cmF0LCAnaGFybW9ueScpCmhhcm1vbnlfZW1iZWRkaW5nc1sxOjUsIDE6NV0KYGBgCgojIENoZWNrIFBDQSBwbG90IGFmdGVyIGludGVncmF0aW9uCmBgYHtyfQoKcDEgPC0gRGltUGxvdChvYmplY3QgPSBqb2luZWRfc2V1cmF0LCByZWR1Y3Rpb24gPSAiaGFybW9ueSIsIHB0LnNpemUgPSAuMSwgZ3JvdXAuYnkgPSAib3JpZy5pZGVudCIpICsgTm9MZWdlbmQoKQpwMiA8LSBWbG5QbG90KG9iamVjdCA9IGpvaW5lZF9zZXVyYXQsIGZlYXR1cmVzID0gImhhcm1vbnlfMSIsIGdyb3VwLmJ5ID0gIm9yaWcuaWRlbnQiLCBwdC5zaXplID0gLjEpICsgTm9MZWdlbmQoKQpwbG90X2dyaWQocDEscDIpCgpgYGAKCiMgVU1BUCBhbmQgY2x1c3RlcmluZwpgYGB7ciBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFfQpqb2luZWRfc2V1cmF0IDwtIGpvaW5lZF9zZXVyYXQgJT4lIAogIFJ1blVNQVAocmVkdWN0aW9uID0gImhhcm1vbnkiLCBkaW1zID0gMTozMCwgdmVyYm9zZSA9IEZBTFNFKSAlPiUgCiAgRmluZE5laWdoYm9ycyhyZWR1Y3Rpb24gPSAiaGFybW9ueSIsIGsucGFyYW0gPSAxMCwgZGltcyA9IDE6MzApICU+JSAKICBGaW5kQ2x1c3RlcnMoKSAlPiUgCiAgaWRlbnRpdHkoKQpgYGAKCiMgUGxvdCBwZXIgc2FtcGxlIGFmdGVyIGludGVncmF0aW9uIAoKYGBge3J9CkRpbVBsb3Qoam9pbmVkX3NldXJhdCwgcmVkdWN0aW9uID0gInVtYXAiLCBncm91cC5ieSA9ICJvcmlnLmlkZW50IiwgcHQuc2l6ZSA9IC4xLCBzcGxpdC5ieSA9ICdvcmlnLmlkZW50JykgKyBOb0xlZ2VuZCgpCmBgYAoKIyBQbG90IGRhdGEgc2V0cyBhZnRlciBpbnRlZ3JhdGlvbgpgYGB7cn0KYWZ0ZXJfaW50IDwtIERpbVBsb3Qoam9pbmVkX3NldXJhdCxyZWR1Y3Rpb24gPSAidW1hcCIsIGdyb3VwLmJ5ID0gInN0dWR5IikgKyBwbG90X2Fubm90YXRpb24odGl0bGUgPSAiQm90aCBkYXRhIHNldHMsIGFmdGVyIGludGVncmF0aW9uIikKcHJpbnQoYWZ0ZXJfaW50KQpnZ3NhdmUoaGVyZSgiaW1nL2FmdGVyX2ludGVncmF0aW9uLnBuZyIpLGFmdGVyX2ludCkKYGBgCgojIFBsb3QgdGhlIFNldXJhdCBjbHVzdGVycwpgYGB7cn0Kam9pbmVkX3NldXJhdCA8LSBTZXRJZGVudChqb2luZWRfc2V1cmF0LCB2YWx1ZSA9ICJzZXVyYXRfY2x1c3RlcnMiKQpkIDwtIERpbVBsb3Qoam9pbmVkX3NldXJhdCxsYWJlbCA9IFRSVUUpICsgTm9MZWdlbmQoKQpwcmludChkKQpnZ3NhdmUoaGVyZSgiaW1nL3NldXJhdF9jbHVzdGVyc19hbGxfY2VsbHMucG5nIiksIGQpCgpgYGAKCiMgQ2x1c3RlciBjb250ZW50CmBgYHtyIG1lc3NhZ2U9RkFMU0UsIHdhcm5pbmc9RkFMU0V9CnAgPC0gcGxvdF9pbnRlZ3JhdGVkX2NsdXN0ZXJzKGpvaW5lZF9zZXVyYXQpCnByaW50KHApCmdnc2F2ZShoZXJlKCJpbWcvY2x1c19jb21wX2FsbC5wbmciKSxwKQpgYGAKCgojIEFubm90YXRpb24gTlRTIHZzIEFQCgpgYGB7ciBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFfQoKYXBfbWFya2VycyA8LSByZWFkLmNzdigifi9HaXQvUDI0LTIwMy9kb2MvbWFya2VyX2dlbmVzX0FQLmNzdiIsIGhlYWRlciA9IFRSVUUsIHN0cmluZ3NBc0ZhY3RvcnMgPSBGQUxTRSkKbnRzX21hcmtlcnMgPC0gcmVhZC5jc3YoIn4vR2l0L1AyNC0yMDMvZG9jL21hcmtlcl9nZW5lc19OVFMuY3N2IiwgaGVhZGVyID0gVFJVRSwgc3RyaW5nc0FzRmFjdG9ycyA9IEZBTFNFKQoKIyBFbnN1cmUgdGhlIG1hcmtlciBnZW5lcyBhcmUgcHJlc2VudCBpbiB5b3VyIGRhdGFzZXQKYXBfbWFya2VycyA8LSBpbnRlcnNlY3QodW5saXN0KGFwX21hcmtlcnMkZ2VuZSksIHJvd25hbWVzKGpvaW5lZF9zZXVyYXRAYXNzYXlzJFJOQSkpCm50c19tYXJrZXJzIDwtIGludGVyc2VjdCh1bmxpc3QobnRzX21hcmtlcnMkZ2VuZSksIHJvd25hbWVzKGpvaW5lZF9zZXVyYXRAYXNzYXlzJFJOQSkpCgpjbHVzdGVyX2F2Z19leHByZXNzaW9uIDwtIEFnZ3JlZ2F0ZUV4cHJlc3Npb24oam9pbmVkX3NldXJhdCwgZmVhdHVyZXMgPSBjKGFwX21hcmtlcnMsIG50c19tYXJrZXJzKSwgZ3JvdXAuYnkgPSAic2V1cmF0X2NsdXN0ZXJzIikkUk5BCgphcF9leHByZXNzaW9uIDwtIGNsdXN0ZXJfYXZnX2V4cHJlc3Npb25bYXBfbWFya2VycywgXQpudHNfZXhwcmVzc2lvbiA8LSBjbHVzdGVyX2F2Z19leHByZXNzaW9uW250c19tYXJrZXJzLCBdCgphcF9jbHVzdGVyX3Njb3JlcyA8LSBjb2xNZWFucyhhcF9leHByZXNzaW9uLCBuYS5ybSA9IFRSVUUpCm50c19jbHVzdGVyX3Njb3JlcyA8LSBjb2xNZWFucyhudHNfZXhwcmVzc2lvbiwgbmEucm0gPSBUUlVFKQoKY2x1c3Rlcl9hbm5vdGF0aW9ucyA8LSBpZmVsc2UoYXBfY2x1c3Rlcl9zY29yZXMgPiBudHNfY2x1c3Rlcl9zY29yZXMsICJBUCIsICJOVFMiKQpuYW1lcyhjbHVzdGVyX2Fubm90YXRpb25zKSA8LSAwOjMzCm1hcHBlZF9hbm5vdGF0aW9ucyA8LSBjbHVzdGVyX2Fubm90YXRpb25zW2FzLmNoYXJhY3Rlcihqb2luZWRfc2V1cmF0JHNldXJhdF9jbHVzdGVycyldCm5hbWVzKG1hcHBlZF9hbm5vdGF0aW9ucykgPC0gcm93bmFtZXMoam9pbmVkX3NldXJhdEBtZXRhLmRhdGEpICAjIFNldCBuYW1lcyB0byBjZWxsIElEcwpqb2luZWRfc2V1cmF0JEFQX05UU19DbHVzdGVyX0Fubm90YXRpb24gPC0gbWFwcGVkX2Fubm90YXRpb25zW3Jvd25hbWVzKGpvaW5lZF9zZXVyYXRAbWV0YS5kYXRhKV0KCiMgVmlzdWFsaXphdGlvbiB3aXRoIGFubm90YXRpb25zCmFwX250cyA8LSBEaW1QbG90KGpvaW5lZF9zZXVyYXQsIHJlZHVjdGlvbiA9ICJ1bWFwIiwgZ3JvdXAuYnkgPSAiQVBfTlRTX0NsdXN0ZXJfQW5ub3RhdGlvbiIsIGxhYmVsID0gVFJVRSkgKwogIHRoZW1lKGxlZ2VuZC5wb3NpdGlvbiA9ICJub25lIikgKwogIHhsYWIoInVtYXAxIikgKyB5bGFiKCJ1bWFwMiIpCgpnZ3NhdmUoaGVyZSgiaW1nL2FwX250c19hbGxfY2VsbHMucG5nIiksIGFwX250cykKcHJpbnQoYXBfbnRzKQpzYXZlUkRTKGpvaW5lZF9zZXVyYXQsICJ+L0dpdC9QMjQtMjAzL2RhdGEvam9pbmVkX3NldXJhdF9pbnRlZ3JhdGVkLnJkcyIpCmBgYAoKIyBHT0kgZXhwcmVzc2lvbiBpbiBhbGwgY2VsbHMKYGBge3J9CmZ0MSA8LSBGZWF0dXJlUGxvdChqb2luZWRfc2V1cmF0LCBmZWF0dXJlcyA9IGMoIkdmcmFsIiwgIkFkY3lhcDEiKSwgbWluLmN1dG9mZiA9ICJxMTAiKQpmdDIgPC0gRmVhdHVyZVBsb3Qoam9pbmVkX3NldXJhdCwgZmVhdHVyZXMgPSBjKCJHZnJhbCIsICJBZGN5YXAxIiksIGJsZW5kID0gVFJVRSwgcHQuc2l6ZSA9IDAuMSkgKwogIHRoZW1lKHBsb3QudGl0bGUgPSBlbGVtZW50X3RleHQoaGp1c3QgPSAwLjUpKQpnZnJhbF9jZWxscyA8LSBXaGljaENlbGxzKGpvaW5lZF9zZXVyYXQsIGV4cHJlc3Npb24gPSBHZnJhbCA+IDApCmFkY3lhcDFfY2VsbHMgPC0gV2hpY2hDZWxscyhqb2luZWRfc2V1cmF0LCBleHByZXNzaW9uID0gQWRjeWFwMSA+IDApCgpwcmludChmdDEpCnByaW50KGZ0MikKCiMgRmluZCBjZWxscyB0aGF0IGV4cHJlc3MgYm90aCBnZW5lcwpvdmVybGFwX2NlbGxzIDwtIGludGVyc2VjdChnZnJhbF9jZWxscywgYWRjeWFwMV9jZWxscykKCiMgQ29tcHV0ZSBwZXJjZW50YWdlcwp0b3RhbF9jZWxscyA8LSBsZW5ndGgoQ2VsbHMoam9pbmVkX3NldXJhdCkpCmdmcmFsX3BjdCA8LSBsZW5ndGgoZ2ZyYWxfY2VsbHMpIC8gdG90YWxfY2VsbHMgKiAxMDAKYWRjeWFwMV9wY3QgPC0gbGVuZ3RoKGFkY3lhcDFfY2VsbHMpIC8gdG90YWxfY2VsbHMgKiAxMDAKb3ZlcmxhcF9wY3QgPC0gbGVuZ3RoKG92ZXJsYXBfY2VsbHMpIC8gdG90YWxfY2VsbHMgKiAxMDAKCiMgUHJpbnQgcmVzdWx0cwpjYXQoIlBlcmNlbnRhZ2Ugb2YgY2VsbHMgZXhwcmVzc2luZyBHZnJhbDoiLCByb3VuZChnZnJhbF9wY3QsIDIpLCAiJVxuIikKY2F0KCJQZXJjZW50YWdlIG9mIGNlbGxzIGV4cHJlc3NpbmcgQWRjeWFwMToiLCByb3VuZChhZGN5YXAxX3BjdCwgMiksICIlXG4iKQpjYXQoIlBlcmNlbnRhZ2Ugb2YgY2VsbHMgZXhwcmVzc2luZyBib3RoIGdlbmVzOiIsIHJvdW5kKG92ZXJsYXBfcGN0LCAyKSwgIiVcbiIpCgpgYGAKCiMgQ3JlYXRlIFNDRQpgYGB7cn0KCiMgRXh0cmFjdCBhbGwgbGF5ZXJzIGNvbnRhaW5pbmcgcmF3IGNvdW50cwpjb3VudF9sYXllcnMgPC0gZ3JlcCgiXmNvdW50c1xcLiIsIG5hbWVzKGpvaW5lZF9zZXVyYXRAYXNzYXlzJFJOQUBsYXllcnMpLCB2YWx1ZSA9IFRSVUUpCgojIE1lcmdlIGFsbCBjb3VudCBtYXRyaWNlcwpjb3VudHNfY29tYmluZWQgPC0gZG8uY2FsbChjYmluZCwgbGFwcGx5KGNvdW50X2xheWVycywgZnVuY3Rpb24obGF5ZXIpIHsKICBqb2luZWRfc2V1cmF0QGFzc2F5cyRSTkFAbGF5ZXJzW1tsYXllcl1dCn0pKQoKIyBDcmVhdGUgU2luZ2xlQ2VsbEV4cGVyaW1lbnQgb2JqZWN0CnNjZSA8LSBTaW5nbGVDZWxsRXhwZXJpbWVudCgKICBhc3NheXMgPSBsaXN0KGNvdW50cyA9IGNvdW50c19jb21iaW5lZCksCiAgY29sRGF0YSA9IGpvaW5lZF9zZXVyYXRAbWV0YS5kYXRhICAjIFRyYW5zZmVyIG1ldGFkYXRhIGZyb20gU2V1cmF0CikKCiMgTm9ybWFsaXplIGNvdW50cwpzY2UgPC0gbG9nTm9ybUNvdW50cyhzY2UpCmFzc2F5TmFtZXMoc2NlKQoKIyBTYXZlIGZvciBsYXRlciB1c2UKc2F2ZVJEUyhzY2UsIGhlcmUoImRhdGEvam9pbmVkX3NjZS5yZHMiKSkKCmBgYAojIE5vbi1uZXVyb24gbWFya2VycwpgYGB7cn0Kbm9uX25ldXJvbnMgPC0gbGlzdC5maWxlcyhoZXJlKCJkYXRhL2Nzdi9ub25fbmV1cm9ucyIpLCBwYXR0ZXJuID0gIiouY3N2IiwgZnVsbC5uYW1lcyA9IFRSVUUpCgpub25fbmV1cm9uX2RhdGEgPC0gbGFwcGx5KG5vbl9uZXVyb25zLCByZWFkLmNzdikKbmFtZXMobm9uX25ldXJvbl9kYXRhKSA8LSBnc3ViKCIqLmNzdiIsICIiLCBiYXNlbmFtZShub25fbmV1cm9ucykpCmNlbGxleF9jdXRvZmYgPC0gMC45CmV4cHJfcHJvcG9ydGlvbl9jdXRvZmYgPC0gMTAKCiMgTG9vcCB0aHJvdWdoIHRoZSBsaXN0IGFuZCBmaWx0ZXIgZWFjaCBkYXRhIGZyYW1lCm5vbl9uZXVyb25fZmlsdGVyZWRfZGF0YSA8LSBsYXBwbHkobm9uX25ldXJvbl9kYXRhLCBmdW5jdGlvbihkZikgewogIHN1YnNldChkZiwgY2VsbGV4X3Njb3JlID49IGNlbGxleF9jdXRvZmYgJiBleHByX3Byb3BvcnRpb24gPj0gZXhwcl9wcm9wb3J0aW9uX2N1dG9mZikKfSkKCm91dHB1dF9kaXIgPC0gaGVyZSgiZGF0YS9tYXJrZXJfZ2VuZXMiKSAgIyBEaXJlY3RvcnkgdG8gc2F2ZSB0aGUgZmlsZXMKCmxhcHBseShzZXFfYWxvbmcobm9uX25ldXJvbl9maWx0ZXJlZF9kYXRhKSwgZnVuY3Rpb24oaSkgewogIG91dHB1dF9maWxlIDwtIGZpbGUucGF0aChvdXRwdXRfZGlyLCBwYXN0ZTAoIm1hcmtlcl9nZW5lc18iLCBuYW1lcyhub25fbmV1cm9uX2ZpbHRlcmVkX2RhdGEpW2ldKSkKICB3cml0ZV9jc3YoYXMuZGF0YS5mcmFtZShub25fbmV1cm9uX2ZpbHRlcmVkX2RhdGFbW2ldXSRnZW5lKSwgb3V0cHV0X2ZpbGUsIGNvbF9uYW1lcyA9IEZBTFNFKQp9KQpgYGAKCiMgTmV1cm9uIG1hcmtlcnMgCmBgYHtyfQpuZXVyb25zIDwtIGxpc3QuZmlsZXMoaGVyZSgiZGF0YS9jc3YvbmV1cm9ucyIpLCBwYXR0ZXJuID0gIiouY3N2IiwgZnVsbC5uYW1lcyA9IFRSVUUpCgpuZXVyb25fZGF0YSA8LSBsYXBwbHkobmV1cm9ucywgcmVhZC5jc3YpCm5hbWVzKG5ldXJvbl9kYXRhKSA8LSBnc3ViKCIqLmNzdiIsICIiLCBiYXNlbmFtZShuZXVyb25zKSkKY2VsbGV4X2N1dG9mZiA8LSAwLjkKZXhwcl9wcm9wb3J0aW9uX2N1dG9mZiA8LSAxMAoKIyBMb29wIHRocm91Z2ggdGhlIGxpc3QgYW5kIGZpbHRlciBlYWNoIGRhdGEgZnJhbWUKbmV1cm9uX2ZpbHRlcmVkX2RhdGEgPC0gbGFwcGx5KG5ldXJvbl9kYXRhLCBmdW5jdGlvbihkZikgewogIHN1YnNldChkZiwgY2VsbGV4X3Njb3JlID49IGNlbGxleF9jdXRvZmYgJiBleHByX3Byb3BvcnRpb24gPj0gZXhwcl9wcm9wb3J0aW9uX2N1dG9mZikKfSkKCm91dHB1dF9kaXIgPC0gaGVyZSgiZGF0YS9tYXJrZXJfZ2VuZXMiKSAgIyBEaXJlY3RvcnkgdG8gc2F2ZSB0aGUgZmlsZXMKCmxhcHBseShzZXFfYWxvbmcobmV1cm9uX2ZpbHRlcmVkX2RhdGEpLCBmdW5jdGlvbihpKSB7CiAgb3V0cHV0X2ZpbGUgPC0gZmlsZS5wYXRoKG91dHB1dF9kaXIsIHBhc3RlMCgibWFya2VyX2dlbmVzXyIsIG5hbWVzKG5ldXJvbl9maWx0ZXJlZF9kYXRhKVtpXSkpCiAgd3JpdGVfY3N2KGFzLmRhdGEuZnJhbWUobmV1cm9uX2ZpbHRlcmVkX2RhdGFbW2ldXSRnZW5lKSwgb3V0cHV0X2ZpbGUsIGNvbF9uYW1lcyA9IEZBTFNFKQp9KQpgYGAKCiMgQ2x1c3RlciBhbm5vdGF0aW9uIChub24tbmV1cm9ucyArIG5ldXJvbnMpCmBgYHtyIG1lc3NhZ2U9RkFMU0UsIHdhcm5pbmc9RkFMU0V9CgojIERlZmluZSBkaXJlY3Rvcnkgd2hlcmUgeW91ciBtYXJrZXIgZ2VuZSBmaWxlcyBhcmUgc3RvcmVkCm1hcmtlcl9kaXIgPC0gaGVyZSgiZGF0YS9tYXJrZXJfZ2VuZXMiKSAKCiMgTGlzdCBhbGwgbWFya2VyIGdlbmUgZmlsZXMKbWFya2VyX2ZpbGVzIDwtIGxpc3QuZmlsZXMobWFya2VyX2RpciwgcGF0dGVybiA9ICJtYXJrZXJfZ2VuZXNfLipcXC5jc3YiLCBmdWxsLm5hbWVzID0gVFJVRSkKCiMgRXh0cmFjdCBjZWxsIHR5cGUgbmFtZXMgZnJvbSB0aGUgZmlsZSBuYW1lcwpjZWxsX3R5cGVzIDwtIGdzdWIoIm1hcmtlcl9nZW5lc198XFwuY3N2IiwgIiIsIGJhc2VuYW1lKG1hcmtlcl9maWxlcykpCgojIFJlYWQgbWFya2VyIGdlbmUgbGlzdHMgYW5kIGFzc2lnbiBjZWxsIHR5cGUgbmFtZXMKbWFya2VyX2dlbmVfbGlzdHMgPC0gbGFwcGx5KG1hcmtlcl9maWxlcywgZnVuY3Rpb24oZmlsZSkgewogIGRhdGEgPC0gcmVhZC5jc3YoZmlsZSwgaGVhZGVyID0gVFJVRSwgc3RyaW5nc0FzRmFjdG9ycyA9IEZBTFNFKQogIHVubGlzdChkYXRhKSAgIyBFbnN1cmUgdGhlIG1hcmtlciBnZW5lcyBhcmUgYSBjaGFyYWN0ZXIgdmVjdG9yCn0pCm5hbWVzKG1hcmtlcl9nZW5lX2xpc3RzKSA8LSBjZWxsX3R5cGVzICAjIEFkZCBjZWxsIHR5cGUgbmFtZXMgdG8gdGhlIGxpc3QKCiMgRW5zdXJlIHRoZSBtYXJrZXIgZ2VuZXMgYXJlIHByZXNlbnQgaW4geW91ciBkYXRhc2V0CmZpbHRlcmVkX21hcmtlcl9nZW5lcyA8LSBsYXBwbHkobWFya2VyX2dlbmVfbGlzdHMsIGZ1bmN0aW9uKGdlbmVzKSB7CiAgaW50ZXJzZWN0KGdlbmVzLCByb3duYW1lcyhqb2luZWRfc2V1cmF0QGFzc2F5cyRSTkEpKQp9KQoKYWxsLnNldHMgPC0gbGFwcGx5KG5hbWVzKGZpbHRlcmVkX21hcmtlcl9nZW5lcyksIGZ1bmN0aW9uKHgpIHsKICAgIEdlbmVTZXQoZmlsdGVyZWRfbWFya2VyX2dlbmVzW1t4XV0sIHNldE5hbWU9eCkgICAgICAgIAp9KQphbGwuc2V0cyA8LSBHZW5lU2V0Q29sbGVjdGlvbihhbGwuc2V0cykKCnJvd25hbWVzKHNjZSkgPC0gcm93bmFtZXMoam9pbmVkX3NldXJhdCkKCnJhbmtpbmdzIDwtIEFVQ2VsbF9idWlsZFJhbmtpbmdzKGNvdW50cyhzY2UpLAogICAgcGxvdFN0YXRzPUZBTFNFLCB2ZXJib3NlPUZBTFNFKQpnYygpCmNlbGwuYXVjcyA8LSBBVUNlbGxfY2FsY0FVQyhhbGwuc2V0cywgcmFua2luZ3MpCgpyZXN1bHRzIDwtIHQoYXNzYXkoY2VsbC5hdWNzKSkKaGVhZChyZXN1bHRzKQoKc2F2ZVJEUyhyZXN1bHRzLCBoZXJlKCJkYXRhL2NlbGxfYW5ub19yZXN1bHRzLnJkcyIpKQoKbmV3LmxhYmVscyA8LSBjb2xuYW1lcyhyZXN1bHRzKVttYXguY29sKHJlc3VsdHMpXQp0YWIgPC0gdGFibGUobmV3LmxhYmVscywgc2NlJHNldXJhdF9jbHVzdGVycykKCiMgUGxvdCB0byBzZWUgdGhlIGRpc3RyaWJ1dGlvbiBvZiBBVUNzIGFjcm9zcyBjZWxscyBmb3IgZWFjaCBsYWJlbAoKI3Bsb3RfZ3JpZChBVUNlbGxfZXhwbG9yZVRocmVzaG9sZHMoY2VsbC5hdWNzWzJdLCBwbG90SGlzdD1UUlVFLCBhc3NpZ249VFJVRSksIAojICAgICAgICAgIEFVQ2VsbF9leHBsb3JlVGhyZXNob2xkcyhjZWxsLmF1Y3NbMTBdLCBwbG90SGlzdD1UUlVFLCBhc3NpZ249VFJVRSksIAojICAgICAgICAgIEFVQ2VsbF9leHBsb3JlVGhyZXNob2xkcyhjZWxsLmF1Y3NbMTVdLCBwbG90SGlzdD1UUlVFLCBhc3NpZ249VFJVRSksCiMgICAgICAgICAgQVVDZWxsX2V4cGxvcmVUaHJlc2hvbGRzKGNlbGwuYXVjc1syMl0sIHBsb3RIaXN0PVRSVUUsIGFzc2lnbj1UUlVFKSkKCgpgYGAKIyBQbG90IGNsdXN0ZXIgYW5ub3RhdGlvbgpgYGB7ciBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFfQpqb2luZWRfc2V1cmF0JHByZWRpY3RlZF9jZWxsX3R5cGUgPC0gbmV3LmxhYmVscwoKIyBQbG90IHdpdGggcHJlZGljdGVkIGNlbGwgdHlwZXMKb3B0aW9ucyhnZ3JlcGVsLm1heC5vdmVybGFwcyA9IEluZikKYWxsX2NlbGxzIDwtIERpbVBsb3Qoam9pbmVkX3NldXJhdCwgZ3JvdXAuYnkgPSAicHJlZGljdGVkX2NlbGxfdHlwZSIsIGxhYmVsID0gVFJVRSwgcmVwZWwgPSBUUlVFKSArIAogIGdndGl0bGUoIlByZWRpY3RlZCBDZWxsIFR5cGUgQW5ub3RhdGlvbnMiKQpwcmludChhbGxfY2VsbHMpCmdnc2F2ZShoZXJlKCJpbWcvYWxsX2NlbGxzX3Bsb3QucG5nIiksIGFsbF9jZWxscykKCmBgYAoKIyBHZW5lIGV4cHJlc3Npb24gb3ZlcmxhcCBieSBjbHVzdGVyCgpgYGB7ciBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFfSAKIyBHZXQgY2VsbCB0eXBlIGlkZW50aXRpZXMKSWRlbnRzKGpvaW5lZF9zZXVyYXQpIDwtICJwcmVkaWN0ZWRfY2VsbF90eXBlIiAgIyBSZXBsYWNlIHdpdGggdGhlIGNvcnJlY3QgbWV0YWRhdGEgY29sdW1uIGZvciBjbHVzdGVycwoKIyBGdW5jdGlvbiB0byBjb21wdXRlIHBlcmNlbnRhZ2VzIHBlciBjZWxsIHR5cGUKZ2V0X292ZXJsYXBfYnlfY2x1c3RlciA8LSBmdW5jdGlvbihzZXVyYXRfb2JqLCBnZW5lMSwgZ2VuZTIpIHsKICBjbHVzdGVyX2xldmVscyA8LSBsZXZlbHMoc2V1cmF0X29iaikKICByZXN1bHRzIDwtIGRhdGEuZnJhbWUoQ2x1c3RlciA9IGNoYXJhY3RlcigpLCBHZnJhbF9wY3QgPSBudW1lcmljKCksIEFkY3lhcDFfcGN0ID0gbnVtZXJpYygpLCBCb3RoX3BjdCA9IG51bWVyaWMoKSkKICAKICBmb3IgKGNsdXN0ZXIgaW4gY2x1c3Rlcl9sZXZlbHMpIHsKICAgIGNlbGxzX2luX2NsdXN0ZXIgPC0gV2hpY2hDZWxscyhzZXVyYXRfb2JqLCBpZGVudHMgPSBjbHVzdGVyKQogICAgCiAgICBnZnJhbF9jZWxscyA8LSBXaGljaENlbGxzKHNldXJhdF9vYmosIGV4cHJlc3Npb24gPSAhIXN5bShnZW5lMSkgPiAwKQogICAgYWRjeWFwMV9jZWxscyA8LSBXaGljaENlbGxzKHNldXJhdF9vYmosIGV4cHJlc3Npb24gPSAhIXN5bShnZW5lMikgPiAwKQogICAgCiAgICBvdmVybGFwX2NlbGxzIDwtIGludGVyc2VjdChnZnJhbF9jZWxscywgYWRjeWFwMV9jZWxscykKICAgIAogICAgZ2ZyYWxfcGN0IDwtIHJvdW5kKGxlbmd0aChpbnRlcnNlY3QoY2VsbHNfaW5fY2x1c3RlciwgZ2ZyYWxfY2VsbHMpKSAvIGxlbmd0aChjZWxsc19pbl9jbHVzdGVyKSAqIDEwMCwzKQogICAgYWRjeWFwMV9wY3QgPC0gcm91bmQobGVuZ3RoKGludGVyc2VjdChjZWxsc19pbl9jbHVzdGVyLCBhZGN5YXAxX2NlbGxzKSkgLyBsZW5ndGgoY2VsbHNfaW5fY2x1c3RlcikgKiAxMDAsMykKICAgIG92ZXJsYXBfcGN0IDwtIHJvdW5kKGxlbmd0aChpbnRlcnNlY3QoY2VsbHNfaW5fY2x1c3Rlciwgb3ZlcmxhcF9jZWxscykpIC8gbGVuZ3RoKGNlbGxzX2luX2NsdXN0ZXIpICogMTAwLDMpCiAgICAKICAgIHJlc3VsdHMgPC0gcmJpbmQocmVzdWx0cywgZGF0YS5mcmFtZShDbHVzdGVyID0gY2x1c3RlciwgR2ZyYWxfcGN0ID0gZ2ZyYWxfcGN0LCBBZGN5YXAxX3BjdCA9IGFkY3lhcDFfcGN0LCBCb3RoX3BjdCA9IG92ZXJsYXBfcGN0KSkKICB9CiAgCiAgcmV0dXJuKHJlc3VsdHMpCn0KCiMgUnVuIHRoZSBmdW5jdGlvbgpvdmVybGFwX3Jlc3VsdHMgPC0gZ2V0X292ZXJsYXBfYnlfY2x1c3Rlcihqb2luZWRfc2V1cmF0LCAiR2ZyYWwiLCAiQWRjeWFwMSIpCnByaW50KG92ZXJsYXBfcmVzdWx0cykKCmBgYAoKIyBTdWJzZXQgdG8ga2VlcCBhbm5vdGF0ZWQgbmV1cm9ucwpgYGB7ciBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFfQpuZXVyb25fdHlwZXMgPSBjKCJjaGF0MSIsImNoYXQyIiwiY2hhdDMiLCJHbHUxIiwiR2x1MiIsIkdsdTMiLCJHbHU0IiwiR2x1NSIsIkdsdTYiLAogICAgICAgICAgICAgICAgICJHbHU3IiwiR2x1OCIsIkdsdTkiLCJHbHUxMCIsIkdsdTExIiwiR2x1MTIiLCJHbHUxMyIsIkdsdTE0IiwiR2x1MTUiLAogICAgICAgICAgICAgICAgICJHQUJBMSIsIkdBQkEyIiwiR0FCQTMiLCJHQUJBNCIsIkdBQkE1IiwiR0FCQTYiLCJHQUJBNyIpCgpub25fbmV1cm9uX3R5cGVzID0gYygiYXN0cm9jeXRlcyIsIk9QQ3MiLCJlcGVuZHltYWxfY2VsbHMiLCJlbmRvdGhlbGlhbF9jZWxscyIsCiAgICAgICAgICAgICAgICAgICAgICJvbGlnb2RlbmRyb2N5dGVzIiwidGFuY3l0ZS1saWtlX2NlbGxzIiwibWljcm9nbGlhIiwiVkxNQ3MiKQoKam9pbmVkX3NldXJhdCRuZXVyb25fc3RhdHVzIDwtIGlmZWxzZShqb2luZWRfc2V1cmF0JHByZWRpY3RlZF9jZWxsX3R5cGUgJWluJSBuZXVyb25fdHlwZXMsICJuZXVyb24iLCAibm9uLW5ldXJvbiIpCgoKbmV1cm9uX3NldXJhdCA8LSBzdWJzZXQoam9pbmVkX3NldXJhdCwgc3Vic2V0ID0gbmV1cm9uX3N0YXR1cyA9PSAibmV1cm9uIikKCgpvdmVybGFwX3Jlc3VsdHNfbmV1cm9uIDwtIGdldF9vdmVybGFwX2J5X2NsdXN0ZXIobmV1cm9uX3NldXJhdCwgIkdmcmFsIiwgIkFkY3lhcDEiKQpwcmludChvdmVybGFwX3Jlc3VsdHNfbmV1cm9uKQoKRGltUGxvdChuZXVyb25fc2V1cmF0LCBncm91cC5ieSA9ICJwcmVkaWN0ZWRfY2VsbF90eXBlIiwgbGFiZWwgPSBUUlVFLCByZXBlbCA9IFRSVUUpICsgCiAgZ2d0aXRsZSgiUHJlZGljdGVkIENlbGwgVHlwZSBBbm5vdGF0aW9ucyIpCgpgYGAKCiMgUmUtc2NhbGUgYW5kIHJlLWNsdXN0ZXIgbmV1cm9ucwpgYGB7ciBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFfQoKbmV1cm9uX3NldXJhdCA8LSBGaW5kVmFyaWFibGVGZWF0dXJlcyhvYmplY3QgPSBuZXVyb25fc2V1cmF0LCBzZWxlY3Rpb24ubWV0aG9kID0gInZzdCIsIG5mZWF0dXJlcyA9IDIwMDAsIHZlcmJvc2UgPSBGQUxTRSkKbmV1cm9uX3NldXJhdCA8LSBTY2FsZURhdGEobmV1cm9uX3NldXJhdCwgdmFycy50by5yZWdyZXNzID0gIm5Db3VudF9STkEiLCB2ZXJib3NlID0gRkFMU0UpCm5ldXJvbl9zZXVyYXQgPC0gUnVuUENBKG5ldXJvbl9zZXVyYXQsIG5wY3MgPSAzMCwgdmVyYm9zZSA9IEZBTFNFKQpFbGJvd1Bsb3QobmV1cm9uX3NldXJhdCkKbmV1cm9uX3NldXJhdCA8LSBSdW5VTUFQKG5ldXJvbl9zZXVyYXQsIHJlZHVjdGlvbiA9ICJwY2EiLCBkaW1zID0gMToxMCwgdmVyYm9zZSA9IEYpCgpuZXVyb25fc2V1cmF0IDwtIEZpbmROZWlnaGJvcnMob2JqZWN0ID0gbmV1cm9uX3NldXJhdCwgZGltcyA9IDE6MzAsIHZlcmJvc2UgPSBGQUxTRSkKbmV1cm9uX3NldXJhdCA8LSBGaW5kQ2x1c3RlcnMob2JqZWN0ID0gbmV1cm9uX3NldXJhdCwgcmVzb2x1dGlvbiA9IDAuOCwgdmVyYm9zZSA9IEZBTFNFKSAKCm5ldXJvbl9zZXVyYXQgPC0gU2V0SWRlbnQobmV1cm9uX3NldXJhdCwgdmFsdWUgPSAiUk5BX3Nubl9yZXMuMC44IikKY2x1cyA8LSBEaW1QbG90KG5ldXJvbl9zZXVyYXQsbGFiZWwgPSBUUlVFKSArIE5vTGVnZW5kKCkKcHJpbnQoY2x1cykKZ2dzYXZlKGhlcmUoImltZy9uZXVyb25fY2x1c3RlcnNfcmVzXzAuOC5wbmciKSwgY2x1cykKCmNsdXN0ZXJfYXNzaWdubWVudHMgPC0gbmV1cm9uX3NldXJhdEBtZXRhLmRhdGEkc2V1cmF0X2NsdXN0ZXJzCgpuYW1lcyhjbHVzdGVyX2Fzc2lnbm1lbnRzKSA8LSBjb2xuYW1lcyhuZXVyb25fc2V1cmF0KQoKc2F2ZVJEUyhuZXVyb25fc2V1cmF0LCBoZXJlKCJkYXRhL25ldXJvbl9zdWJzZXQucmRzIikpCgpgYGAKCiMgTmV1cm9uIGNsdXN0ZXIgY29tcG9zaXRpb24KYGBge3IgbWVzc2FnZT1GQUxTRSwgd2FybmluZz1GQUxTRX0KbmV1cm9uX2NsdXNfY29tcCA8LSBwbG90X2ludGVncmF0ZWRfY2x1c3RlcnMobmV1cm9uX3NldXJhdCkKcHJpbnQobmV1cm9uX2NsdXNfY29tcCkKZ2dzYXZlKGhlcmUoImltZy9uZXVyb25fY2x1c3Rlcl9jb21wLnBuZyIpLCBuZXVyb25fY2x1c19jb21wKQpgYGAKCiMgUGxvdCB0aGUgZXhwcmVzc2lvbiB2YWx1ZXMgZm9yIEdmcmFsL0FkY3lhcDEgaW4gbmV1cm9ucwpgYGB7ciBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFfQpmdDEgPC0gRmVhdHVyZVBsb3QobmV1cm9uX3NldXJhdCwgZmVhdHVyZXMgPSBjKCJHZnJhbCIsICJBZGN5YXAxIiksIG1pbi5jdXRvZmYgPSAicTEwIikKZnQyIDwtIEZlYXR1cmVQbG90KG5ldXJvbl9zZXVyYXQsIGZlYXR1cmVzID0gYygiR2ZyYWwiLCAiQWRjeWFwMSIpLCBibGVuZCA9IFRSVUUsIHB0LnNpemUgPSAwLjEpICsKICB0aGVtZShwbG90LnRpdGxlID0gZWxlbWVudF90ZXh0KGhqdXN0ID0gMC41KSkKZ2ZyYWxfY2VsbHMgPC0gV2hpY2hDZWxscyhuZXVyb25fc2V1cmF0LCBleHByZXNzaW9uID0gR2ZyYWwgPiAwKQphZGN5YXAxX2NlbGxzIDwtIFdoaWNoQ2VsbHMobmV1cm9uX3NldXJhdCwgZXhwcmVzc2lvbiA9IEFkY3lhcDEgPiAwKQoKcHJpbnQoZnQxKQpwcmludChmdDIpCmdnc2F2ZShoZXJlKCJpbWcvZXhwcmVzc2lvbl9nZnJhbF9hZGN5YXAxX25ldXJvbnMucG5nIiksIGZ0MSkKZ2dzYXZlKGhlcmUoImltZy9Dby1leHByZXNzaW9uX2dmcmFsX2FkY3lhcDFfbmV1cm9ucy5wbmciKSwgZnQyKQpgYGAKCiMgQ2hlY2sgQVAvTlRTIGFubm90YXRpb24gaW4gbmV1cm9ucwpgYGB7cn0KRGltUGxvdChuZXVyb25fc2V1cmF0LCBncm91cC5ieSA9ICJBUF9OVFNfQ2x1c3Rlcl9Bbm5vdGF0aW9uIiwgbGFiZWwgPSBUUlVFLCByZXBlbCA9IFRSVUUpICsgCiAgZ2d0aXRsZSgiTmV1cm9uIEFQIG9yIE5UUyIpCmBgYAoKIyBSZS1hbm5vdGF0ZSBuZXVyb24gY2x1c3RlcnMKYGBge3IgbWVzc2FnZT1GQUxTRSwgd2FybmluZz1GQUxTRX0KIyBDcmVhdGUgU2luZ2xlQ2VsbEV4cGVyaW1lbnQgb2JqZWN0CmNvdW50X2xheWVycyA8LSBncmVwKCJeY291bnRzXFwuIiwgbmFtZXMobmV1cm9uX3NldXJhdEBhc3NheXMkUk5BQGxheWVycyksIHZhbHVlID0gVFJVRSkKCiMgTWVyZ2UgYWxsIGNvdW50IG1hdHJpY2VzCmNvdW50c19jb21iaW5lZCA8LSBkby5jYWxsKGNiaW5kLCBsYXBwbHkoY291bnRfbGF5ZXJzLCBmdW5jdGlvbihsYXllcikgewogIG5ldXJvbl9zZXVyYXRAYXNzYXlzJFJOQUBsYXllcnNbW2xheWVyXV0KfSkpCgpzY2VfbmV1cm9uIDwtIFNpbmdsZUNlbGxFeHBlcmltZW50KAogIGFzc2F5cyA9IGxpc3QoY291bnRzID0gY291bnRzX2NvbWJpbmVkKSwKICBjb2xEYXRhID0gbmV1cm9uX3NldXJhdEBtZXRhLmRhdGEgICMgVHJhbnNmZXIgbWV0YWRhdGEgZnJvbSBTZXVyYXQKKQoKIyBOb3JtYWxpemUgY291bnRzCnNjZV9uZXVyb24gPC0gbG9nTm9ybUNvdW50cyhzY2VfbmV1cm9uKQphc3NheU5hbWVzKHNjZV9uZXVyb24pCgpyb3duYW1lcyhzY2VfbmV1cm9uKSA8LSByb3duYW1lcyhuZXVyb25fc2V1cmF0KQoKc2F2ZVJEUyhzY2VfbmV1cm9uLCBoZXJlKCJkYXRhL3NjZV9uZXVyb24ucmRzIikpCiNzY2VfbmV1cm9uIDwtIHJlYWRSRFMoaGVyZSgiZGF0YS9zY2VfbmV1cm9uLnJkcyIpKQojbmV1cm9uX3NldXJhdCA8LSByZWFkUkRTKGhlcmUoImRhdGEvbmV1cm9uX3N1YnNldC5yZHMiKSkKCiMjIE1BUktFUiBHRU5FIFNFVCAjIyAKIyBMb2FkIG1hcmtlciBnZW5lcwptYXJrZXJfZGlyIDwtIGhlcmUoImRhdGEvbmV1cm9uX21hcmtlcl9nZW5lcyIpICAjIFVwZGF0ZSB3aXRoIHlvdXIgYWN0dWFsIHBhdGgKCiMgTGlzdCBhbGwgbWFya2VyIGdlbmUgZmlsZXMKbWFya2VyX2ZpbGVzIDwtIGxpc3QuZmlsZXMobWFya2VyX2RpciwgcGF0dGVybiA9ICJtYXJrZXJfZ2VuZXNfLipcXC5jc3YiLCBmdWxsLm5hbWVzID0gVFJVRSkKCiMgRXh0cmFjdCBjZWxsIHR5cGUgbmFtZXMgZnJvbSB0aGUgZmlsZSBuYW1lcwpjZWxsX3R5cGVzIDwtIGdzdWIoIm1hcmtlcl9nZW5lc198XFwuY3N2IiwgIiIsIGJhc2VuYW1lKG1hcmtlcl9maWxlcykpCgojIFJlYWQgbWFya2VyIGdlbmUgbGlzdHMgYW5kIGFzc2lnbiBjZWxsIHR5cGUgbmFtZXMKbWFya2VyX2dlbmVfbGlzdHMgPC0gbGFwcGx5KG1hcmtlcl9maWxlcywgZnVuY3Rpb24oZmlsZSkgewogIGRhdGEgPC0gcmVhZC5jc3YoZmlsZSwgaGVhZGVyID0gVFJVRSwgc3RyaW5nc0FzRmFjdG9ycyA9IEZBTFNFKQogIHVubGlzdChkYXRhKSAgIyBFbnN1cmUgdGhlIG1hcmtlciBnZW5lcyBhcmUgYSBjaGFyYWN0ZXIgdmVjdG9yCn0pCm5hbWVzKG1hcmtlcl9nZW5lX2xpc3RzKSA8LSBjZWxsX3R5cGVzICAjIEFkZCBjZWxsIHR5cGUgbmFtZXMgdG8gdGhlIGxpc3QKCiMgRW5zdXJlIHRoZSBtYXJrZXIgZ2VuZXMgYXJlIHByZXNlbnQgaW4geW91ciBkYXRhc2V0CmZpbHRlcmVkX21hcmtlcl9nZW5lcyA8LSBsYXBwbHkobWFya2VyX2dlbmVfbGlzdHMsIGZ1bmN0aW9uKGdlbmVzKSB7CiAgaW50ZXJzZWN0KGdlbmVzLCByb3duYW1lcyhuZXVyb25fc2V1cmF0QGFzc2F5cyRSTkEpKQp9KQoKYWxsLnNldHMgPC0gbGFwcGx5KG5hbWVzKGZpbHRlcmVkX21hcmtlcl9nZW5lcyksIGZ1bmN0aW9uKHgpIHsKICAgIEdlbmVTZXQoZmlsdGVyZWRfbWFya2VyX2dlbmVzW1t4XV0sIHNldE5hbWU9eCkgICAgICAgIAp9KQphbGwuc2V0cyA8LSBHZW5lU2V0Q29sbGVjdGlvbihhbGwuc2V0cykKCiMjIEFOTk9UQVRJT04gIyMgCnJhbmtpbmdzIDwtIEFVQ2VsbF9idWlsZFJhbmtpbmdzKGNvdW50cyhzY2VfbmV1cm9uKSwKICAgIHBsb3RTdGF0cz1GQUxTRSwgdmVyYm9zZT1GQUxTRSkKY2VsbC5hdWNzIDwtIEFVQ2VsbF9jYWxjQVVDKGFsbC5zZXRzLCByYW5raW5ncykKCnJlc3VsdHMgPC0gdChhc3NheShjZWxsLmF1Y3MpKQpoZWFkKHJlc3VsdHMpCm5ldXJvbl9yZXN1bHRzIDwtIHJlc3VsdHMKc2F2ZVJEUyhyZXN1bHRzLCBoZXJlKCJkYXRhL25ldXJvbl9jZWxsX2Fubm9fcmVzdWx0cy5yZHMiKSkKCiNyZXN1bHRzIDwtIHJlYWRSRFMoaGVyZSgiZGF0YS9uZXVyb25fY2VsbF9hbm5vX3Jlc3VsdHMucmRzIikpCm5ldy5sYWJlbHMgPC0gY29sbmFtZXMocmVzdWx0cylbbWF4LmNvbChyZXN1bHRzKV0KCm5ldXJvbl9zZXVyYXQkbmV1cm9uX2NlbGxfdHlwZSA8LSBuZXcubGFiZWxzCnRhYmxlKG5ldXJvbl9zZXVyYXQkbmV1cm9uX2NlbGxfdHlwZSwgbmV1cm9uX3NldXJhdCRSTkFfc25uX3Jlcy4wLjgpCiMgUGxvdCB3aXRoIHByZWRpY3RlZCBjZWxsIHR5cGVzCm9wdGlvbnMoZ2dyZXBlbC5tYXgub3ZlcmxhcHMgPSBJbmYpCm5ldXJvbl9zZXVyYXQgPC0gU2V0SWRlbnQobmV1cm9uX3NldXJhdCwgdmFsdWUgPSAiUk5BX3Nubl9yZXMuMC44IikKbmV1cm9uX2FubiA8LSBEaW1QbG90KG5ldXJvbl9zZXVyYXQsIGdyb3VwLmJ5ID0gIm5ldXJvbl9jZWxsX3R5cGUiLCBsYWJlbCA9IFRSVUUsIHJlcGVsID0gVFJVRSkgKyAKICBnZ3RpdGxlKCJQcmVkaWN0ZWQgTmV1cm9uIENlbGwgVHlwZSBBbm5vdGF0aW9ucyIpCnByaW50KG5ldXJvbl9hbm4pCmdnc2F2ZShoZXJlKCJpbWcvbmV1cm9uX2Fubm9fY2x1c3RlcnMucG5nIiksIG5ldXJvbl9hbm4pCmBgYAoKYGBge3J9CiMgR2V0IGNlbGwgdHlwZSBpZGVudGl0aWVzCklkZW50cyhuZXVyb25fc2V1cmF0KSA8LSAibmV1cm9uX2NlbGxfdHlwZSIKb3ZlcmxhcF9yZXN1bHRzIDwtIGdldF9vdmVybGFwX2J5X2NsdXN0ZXIobmV1cm9uX3NldXJhdCwgIkdmcmFsIiwgIkFkY3lhcDEiKQpwcmludChvdmVybGFwX3Jlc3VsdHMpCmBgYAojIExvb2sgYXQgdGhlIFBlYXJzb24gYW5kIFNwZWFybWFuIGNvZWZmY2llbnRzIGZvciBjby1leHByZXNzaW9uIEdmcmFsL0FkY3lhcDEKYGBge3IgbWVzc2FnZT1GQUxTRSwgd2FybmluZz1GQUxTRX0KIyBFeHRyYWN0IGV4cHJlc3Npb24gdmFsdWVzIGZvciB0d28gZ2VuZXMKZ2VuZTEgPC0gIkdmcmFsIiAgIyBSZXBsYWNlIHdpdGggeW91ciBnZW5lIG5hbWUKZ2VuZTIgPC0gIkFkY3lhcDEiCgphbGxfZGF0YV9sYXllcnMgPC0gZ3JlcCgiXmRhdGFcXC4iLCBMYXllcnMobmV1cm9uX3NldXJhdFtbIlJOQSJdXSksIHZhbHVlID0gVFJVRSkKIyBFeHRyYWN0IGV4cHJlc3Npb24gZGF0YSBmcm9tIGFsbCBsYXllcnMgYW5kIGNvbWJpbmUKZXhwcl9saXN0IDwtIGxhcHBseShhbGxfZGF0YV9sYXllcnMsIGZ1bmN0aW9uKGxheWVyKSB7CiAgR2V0QXNzYXlEYXRhKG5ldXJvbl9zZXVyYXQsIGFzc2F5ID0gIlJOQSIsIGxheWVyID0gbGF5ZXIpCn0pCgojIE1lcmdlIGFsbCBleHRyYWN0ZWQgZXhwcmVzc2lvbiBtYXRyaWNlcyAoY29sdW1uLXdpc2U6IGNlbGxzIGFyZSBpbiBjb2x1bW5zKQpleHByX21hdHJpeF9hbGwgPC0gZG8uY2FsbChjYmluZCwgZXhwcl9saXN0KQpleHByX2dlbmUxIDwtIGV4cHJfbWF0cml4X2FsbFtnZW5lMSwgXQpleHByX2dlbmUyIDwtIGV4cHJfbWF0cml4X2FsbFtnZW5lMiwgXQoKSWRlbnRzKG5ldXJvbl9zZXVyYXQpIDwtICJuZXVyb25fY2VsbF90eXBlIgoKIyBDb21wdXRlIFBlYXJzb24gY29ycmVsYXRpb24KY29ycmVsYXRpb24gPC0gY29yKGV4cHJfZ2VuZTEsIGV4cHJfZ2VuZTIsIG1ldGhvZCA9ICJwZWFyc29uIiwgdXNlID0gImNvbXBsZXRlLm9icyIpCnByaW50KGNvcnJlbGF0aW9uKQoKZ2V0X2dlbmVfY29ycmVsYXRpb25fYnlfY2x1c3RlciA8LSBmdW5jdGlvbihzZXVyYXRfb2JqLCBnZW5lMSwgZ2VuZTIpIHsKICBjbHVzdGVyX2xldmVscyA8LSBsZXZlbHMoc2V1cmF0X29iaikKICByZXN1bHRzIDwtIGRhdGEuZnJhbWUoQ2x1c3RlciA9IGNoYXJhY3RlcigpLCBQZWFyc29uID0gbnVtZXJpYygpLCBTcGVhcm1hbiA9IG51bWVyaWMoKSkKICAKICBmb3IgKGNsdXN0ZXIgaW4gY2x1c3Rlcl9sZXZlbHMpIHsKICAgIGNlbGxzX2luX2NsdXN0ZXIgPC0gV2hpY2hDZWxscyhzZXVyYXRfb2JqLCBpZGVudHMgPSBjbHVzdGVyKQogICAgCiAgICBleHByX2dlbmUxIDwtIEZldGNoRGF0YShzZXVyYXRfb2JqLCB2YXJzID0gZ2VuZTEpW2NlbGxzX2luX2NsdXN0ZXIsICwgZHJvcCA9IEZBTFNFXQogICAgZXhwcl9nZW5lMiA8LSBGZXRjaERhdGEoc2V1cmF0X29iaiwgdmFycyA9IGdlbmUyKVtjZWxsc19pbl9jbHVzdGVyLCAsIGRyb3AgPSBGQUxTRV0KICAgIAogICAgaWYgKGxlbmd0aChjZWxsc19pbl9jbHVzdGVyKSA+IDUpIHsgICMgQXZvaWQgZXJyb3JzIHdpdGggdmVyeSBzbWFsbCBjbHVzdGVycwogICAgICBwZWFyc29uX2NvcnIgPC0gY29yKGV4cHJfZ2VuZTFbLCAxXSwgZXhwcl9nZW5lMlssIDFdLCBtZXRob2QgPSAicGVhcnNvbiIsIHVzZSA9ICJjb21wbGV0ZS5vYnMiKQogICAgICBzcGVhcm1hbl9jb3JyIDwtIGNvcihleHByX2dlbmUxWywgMV0sIGV4cHJfZ2VuZTJbLCAxXSwgbWV0aG9kID0gInNwZWFybWFuIiwgdXNlID0gImNvbXBsZXRlLm9icyIpCiAgICAgIAogICAgICByZXN1bHRzIDwtIHJiaW5kKHJlc3VsdHMsIGRhdGEuZnJhbWUoQ2x1c3RlciA9IGNsdXN0ZXIsIFBlYXJzb24gPSBwZWFyc29uX2NvcnIsIFNwZWFybWFuID0gc3BlYXJtYW5fY29ycikpCiAgICB9CiAgfQogIAogIHJldHVybihyZXN1bHRzKQp9CgojIFJ1biB0aGUgZnVuY3Rpb24KY29ycmVsYXRpb25fcmVzdWx0cyA8LSBnZXRfZ2VuZV9jb3JyZWxhdGlvbl9ieV9jbHVzdGVyKG5ldXJvbl9zZXVyYXQsICJHZnJhbCIsICJBZGN5YXAxIikKcHJpbnQoY29ycmVsYXRpb25fcmVzdWx0cykKCgpgYGAKCiMgUnVuIHNjTGluayB0byBsb29rIGF0IHRoZSBjby1leHByZXNzaW9uIEdmcmFsL0FkY3lhcDEKYGBge3IgbWVzc2FnZT1GQUxTRSwgd2FybmluZz1GQUxTRX0KI3NhdmVSRFMoZXhwcl9tYXRyaXhfYWxsLCBoZXJlKCJkYXRhL2V4cHJfbWF0cml4X2FsbC5yZHMiKSkKI3NhdmVSRFMobmV1cm9uX3NldXJhdCwgaGVyZSgiZGF0YS9uZXVyb25fc2V1cmF0XzIucmRzIikpCmNvdW50IDwtIHQoZXhwcl9tYXRyaXhfYWxsKQpnZW5lcyA8LSBjKCJHZnJhbCIsIkFkY3lhcDEiLCJHbHAxciIsIkdwYzMiKQoKY291bnQubm9ybSA8LSBzY2xpbmtfbm9ybShjb3VudCwgc2NhbGUuZmFjdG9yID0gMWU2LCBmaWx0ZXIuZ2VuZXMgPSBGQUxTRSwgZ2VuZS5uYW1lcyA9IGdlbmVzKQpnYygpCgpuZXR3b3JrcyA8LSBzY2xpbmtfbmV0KGV4cHIgPSBjb3VudC5ub3JtLCBuY29yZXMgPSAxLCBsZGEgPSBzZXEoMC41LCAwLjEsIC0wLjA1KSkKCm5ldHdvcmtzJGNvclsxOjQsMTo0XQoKYGBgCgojIFJlc3VsdHMgZm9yIG9uZSBjbHVzdGVyIGZyb20gc2NMaW5rCmBgYHtyfQpuZXQxID0gbmV0d29ya3Mkc3VtbWFyeVtbMV1dCgpuYW1lcyhuZXQxKQpgYGAKCiMgUnVuIHNjTGluayBmb3Igb25seSBvbmUgY2VsbCB0eXBlCmBgYHtyIG1lc3NhZ2U9RkFMU0UsIHdhcm5pbmc9RkFMU0V9CiMgRW5zdXJlIHRoZSBhY3RpdmUgaWRlbnRpdHkgY2xhc3MgaXMgc2V0IHRvIHRoZSBjbHVzdGVyaW5nIHJlc3VsdApJZGVudHMobmV1cm9uX3NldXJhdCkgPC0gInByZWRpY3RlZF9jZWxsX3R5cGUiICAjIFJlcGxhY2Ugd2l0aCB5b3VyIGNsdXN0ZXJpbmcgY29sdW1uIG5hbWUKCiMgU3Vic2V0IHRoZSBTZXVyYXQgb2JqZWN0IHRvIGluY2x1ZGUgb25seSAiR2x1NCIgY2VsbHMKZ2x1NF9zZXVyYXQgPC0gc3Vic2V0KG5ldXJvbl9zZXVyYXQsIGlkZW50cyA9ICJHbHU1IikKCmdsdTRfZGF0YV9sYXllcnMgPC0gZ3JlcCgiXmRhdGFcXC4iLCBMYXllcnMoZ2x1NF9zZXVyYXRbWyJSTkEiXV0pLCB2YWx1ZSA9IFRSVUUpCiMgRXh0cmFjdCBleHByZXNzaW9uIGRhdGEgZnJvbSBhbGwgbGF5ZXJzIGFuZCBjb21iaW5lCmV4cHJfbGlzdCA8LSBsYXBwbHkoZ2x1NF9kYXRhX2xheWVycywgZnVuY3Rpb24obGF5ZXIpIHsKICBtYXQgPC0gR2V0QXNzYXlEYXRhKGdsdTRfc2V1cmF0LCBhc3NheSA9ICJSTkEiLCBsYXllciA9IGxheWVyKQogIAogICMgQ2hlY2sgaWYgdGhlIG1hdHJpeCBpcyBub3QgTlVMTCBhbmQgaGFzIGRpbWVuc2lvbnMKICBpZiAoIWlzLm51bGwobWF0KSAmJiBsZW5ndGgoZGltKG1hdCkpID09IDIpIHsKICAgIHJldHVybihtYXQpCiAgfSBlbHNlIHsKICAgIHJldHVybihOVUxMKSAgIyBTa2lwIHRoaXMgbGF5ZXIgaWYgaXQncyBOVUxMIG9yIGhhcyBubyBkaW1lbnNpb25zCiAgfQp9KQoKIyBSZW1vdmUgTlVMTCBlbnRyaWVzIGZyb20gdGhlIGxpc3QKZXhwcl9saXN0IDwtIEZpbHRlcihOZWdhdGUoaXMubnVsbCksIGV4cHJfbGlzdCkKCiMgTWVyZ2UgYWxsIGV4dHJhY3RlZCBleHByZXNzaW9uIG1hdHJpY2VzIChjb2x1bW4td2lzZTogY2VsbHMgYXJlIGluIGNvbHVtbnMpCmV4cHJfbWF0cml4X2dsdTQgPC0gZG8uY2FsbChjYmluZCwgZXhwcl9saXN0KQoKY291bnQgPC0gdChleHByX21hdHJpeF9nbHU0KQpnZW5lcyA8LSBjKCJHZnJhbCIsIkFkY3lhcDEiLCJHbHAxciIsIkdwYzMiKQoKY291bnQubm9ybSA8LSBzY2xpbmtfbm9ybShjb3VudCwgc2NhbGUuZmFjdG9yID0gMWU2LCBmaWx0ZXIuZ2VuZXMgPSBGQUxTRSwgZ2VuZS5uYW1lcyA9IGdlbmVzKQpnYygpCgpuZXR3b3JrcyA8LSBzY2xpbmtfbmV0KGV4cHIgPSBjb3VudC5ub3JtLCBuY29yZXMgPSAxLCBsZGEgPSBzZXEoMC41LCAwLjEsIC0wLjA1KSkKbmV0d29ya3MkY29yWzE6NCwxOjRdCmBgYAoKIyBSdW4gc2NMaW5rIHBlciBjZWxsIHR5cGUKYGBge3IgbWVzc2FnZT1GQUxTRSwgd2FybmluZz1GQUxTRX0KCnByb2Nlc3NfbmV1cm9uX2NlbGxfdHlwZSA8LSBmdW5jdGlvbihuZXVyb25fc2V1cmF0LCBjZWxsX3R5cGUsIGdlbmVzKSB7CiAgIyBFbnN1cmUgdGhlIGFjdGl2ZSBpZGVudGl0eSBjbGFzcyBpcyBzZXQgdG8gdGhlIGNsdXN0ZXJpbmcgcmVzdWx0CiAgSWRlbnRzKG5ldXJvbl9zZXVyYXQpIDwtICJuZXVyb25fY2VsbF90eXBlIiAgIyBSZXBsYWNlIHdpdGggeW91ciBjbHVzdGVyaW5nIGNvbHVtbiBuYW1lCiAgCiAgIyBTdWJzZXQgdGhlIFNldXJhdCBvYmplY3QgdG8gaW5jbHVkZSB0aGUgc3BlY2lmaWVkIG5ldXJvbiBjZWxsIHR5cGUKICBuZXVyb25fc2V1cmF0X3N1YnNldCA8LSBzdWJzZXQobmV1cm9uX3NldXJhdCwgaWRlbnRzID0gY2VsbF90eXBlKQogIAogICMgRXh0cmFjdCBkYXRhIGxheWVycwogIGRhdGFfbGF5ZXJzIDwtIGdyZXAoIl5kYXRhXFwuIiwgTGF5ZXJzKG5ldXJvbl9zZXVyYXRfc3Vic2V0W1siUk5BIl1dKSwgdmFsdWUgPSBUUlVFKQogIAogICMgRXh0cmFjdCBleHByZXNzaW9uIGRhdGEgZnJvbSBhbGwgbGF5ZXJzIGFuZCBjb21iaW5lCiAgZXhwcl9saXN0IDwtIGxhcHBseShkYXRhX2xheWVycywgZnVuY3Rpb24obGF5ZXIpIHsKICAgIGxheWVyX2RhdGEgPC0gbmV1cm9uX3NldXJhdF9zdWJzZXRbWyJSTkEiXV1AbGF5ZXJzW1tsYXllcl1dCiAgICAKICAgICMgQ2hlY2sgaWYgbGF5ZXIgZGF0YSBpcyBvZiB0eXBlIFM0IGFuZCBub3QgTlVMTAogICAgaWYgKCFpcy5udWxsKGxheWVyX2RhdGEpKSB7CiAgICAgIGlmIChpbmhlcml0cyhsYXllcl9kYXRhLCAibWF0cml4IikgfHwgaW5oZXJpdHMobGF5ZXJfZGF0YSwgImRnQ01hdHJpeCIpKSB7CiAgICAgICAgbWF0IDwtIEdldEFzc2F5RGF0YShuZXVyb25fc2V1cmF0X3N1YnNldCwgYXNzYXkgPSAiUk5BIiwgbGF5ZXIgPSBsYXllcikKICAgICAgICAKICAgICAgICBjYXQoIlByb2Nlc3NpbmcgbGF5ZXI6IiwgbGF5ZXIsICJ3aXRoIGRpbWVuc2lvbnM6IiwgZGltKG1hdCksICJcbiIpCiAgICAgICAgCiAgICAgICAgIyBDaGVjayBpZiB0aGUgbWF0cml4IGhhcyB0d28gZGltZW5zaW9ucyAoZ2VuZXMgeCBjZWxscykKICAgICAgICBpZiAobGVuZ3RoKGRpbShtYXQpKSA9PSAyKSB7CiAgICAgICAgICByZXR1cm4obWF0KQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICB3YXJuaW5nKHBhc3RlKCJMYXllciIsIGxheWVyLCAiZG9lcyBub3QgaGF2ZSB0aGUgZXhwZWN0ZWQgdHdvIGRpbWVuc2lvbnMuIikpCiAgICAgICAgICByZXR1cm4oTlVMTCkgICMgU2tpcCB0aGlzIGxheWVyIGlmIGl0IGRvZXNuJ3QgbWVldCB0aGUgY3JpdGVyaWEKICAgICAgICB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgd2FybmluZyhwYXN0ZSgiTGF5ZXIiLCBsYXllciwgImlzIG5vdCBvZiB0eXBlIFM0IG9yIGlzIHVuZXhwZWN0ZWQuIFNraXBwaW5nLiIpKQogICAgICAgIHJldHVybihOVUxMKSAgIyBTa2lwIHRoaXMgbGF5ZXIgaWYgaXQncyBub3QgYW4gUzQgb2JqZWN0CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIHdhcm5pbmcocGFzdGUoIkxheWVyIiwgbGF5ZXIsICJpcyBOVUxMLiBTa2lwcGluZy4iKSkKICAgICAgcmV0dXJuKE5VTEwpICAjIFNraXAgdGhpcyBsYXllciBpZiBpdCdzIE5VTEwKICAgIH0KICB9KQogIAogICMgUmVtb3ZlIE5VTEwgZW50cmllcyBmcm9tIHRoZSBsaXN0CiAgZXhwcl9saXN0IDwtIEZpbHRlcihOZWdhdGUoaXMubnVsbCksIGV4cHJfbGlzdCkKICAKICAjIENoZWNrIGlmIHRoZXJlIGFyZSBhbnkgdmFsaWQgZXhwcmVzc2lvbiBtYXRyaWNlcwogIGlmIChsZW5ndGgoZXhwcl9saXN0KSA9PSAwKSB7CiAgICBzdG9wKHBhc3RlKCJObyB2YWxpZCBleHByZXNzaW9uIG1hdHJpY2VzIGZvdW5kIGZvciBjZWxsIHR5cGU6IiwgY2VsbF90eXBlKSkKICB9CiAgCiAgIyBNZXJnZSBhbGwgZXh0cmFjdGVkIGV4cHJlc3Npb24gbWF0cmljZXMgKGNvbHVtbi13aXNlOiBjZWxscyBhcmUgaW4gY29sdW1ucykKICBleHByX21hdHJpeCA8LSBkby5jYWxsKGNiaW5kLCBleHByX2xpc3QpCiAgCiAgY291bnQgPC0gdChleHByX21hdHJpeCkKICAKICAjIE5vcm1hbGl6ZSBjb3VudHMKICBjb3VudC5ub3JtIDwtIHNjbGlua19ub3JtKGNvdW50LCBzY2FsZS5mYWN0b3IgPSAxZTYsIGZpbHRlci5nZW5lcyA9IEZBTFNFLCBnZW5lLm5hbWVzID0gZ2VuZXMpCiAgCiAgZ2MoKQogIAogICMgQ3JlYXRlIG5ldHdvcmtzCiAgbmV0d29ya3MgPC0gdHJ5Q2F0Y2goewogICAgc2NsaW5rX25ldChleHByID0gY291bnQubm9ybSwgbmNvcmVzID0gMSwgbGRhID0gc2VxKDAuNSwgMC4xLCAtMC4wNSkpCiAgfSwgZXJyb3IgPSBmdW5jdGlvbihlKSB7CiAgICB3YXJuaW5nKHBhc3RlKCJFcnJvciBpbiBjcmVhdGluZyBuZXR3b3JrcyBmb3IgY2VsbCB0eXBlOiIsIGNlbGxfdHlwZSwgIlxuIiwgZSRtZXNzYWdlKSkKICAgIHJldHVybihOVUxMKQogIH0pCiAgCiAgaWYgKCFpcy5udWxsKG5ldHdvcmtzKSkgewogICAgcmV0dXJuKG5ldHdvcmtzJGNvclsxOjQsIDE6NF0pCiAgfSBlbHNlIHsKICAgIHJldHVybihOVUxMKSAgIyBSZXR1cm4gTlVMTCBpZiBuZXR3b3JrIGNyZWF0aW9uIGZhaWxlZAogIH0KfQoKIyBMb29wIG92ZXIgYWxsIG5ldXJvbiBjZWxsIHR5cGVzCnJlc3VsdHMgPC0gbGFwcGx5KG5ldXJvbl9jZWxsX3R5cGVzLCBmdW5jdGlvbihjZWxsX3R5cGUpIHsKICBjYXQoIlByb2Nlc3NpbmcgY2VsbCB0eXBlOiIsIGNlbGxfdHlwZSwgIlxuIikKICBwcm9jZXNzX25ldXJvbl9jZWxsX3R5cGUobmV1cm9uX3NldXJhdCwgY2VsbF90eXBlLCBnZW5lcykKfSkKCiMgT3B0aW9uYWxseSwgbmFtZSB0aGUgcmVzdWx0cyBmb3IgZWFzeSBpZGVudGlmaWNhdGlvbgpuYW1lcyhyZXN1bHRzKSA8LSBuZXVyb25fY2VsbF90eXBlcwoKCiMgSW5pdGlhbGl6ZSBhIGRhdGEgZnJhbWUgdG8gaG9sZCBjby1leHByZXNzaW9uIHZhbHVlcwpjb19leHByZXNzaW9uX3ZhbHVlcyA8LSBkYXRhLmZyYW1lKENlbGxUeXBlID0gY2hhcmFjdGVyKCksIENvRXhwcmVzc2lvbiA9IG51bWVyaWMoKSwgc3RyaW5nc0FzRmFjdG9ycyA9IEZBTFNFKQoKIyBMb29wIHRocm91Z2ggZWFjaCBlbnRyeSBpbiByZXN1bHRzCmZvciAoY2VsbF90eXBlIGluIG5hbWVzKHJlc3VsdHMpKSB7CiAgIyBFeHRyYWN0IHRoZSBjb3JyZWxhdGlvbiBtYXRyaXggZm9yIHRoZSBjdXJyZW50IGNlbGwgdHlwZQogIGNvcl9tYXRyaXggPC0gcmVzdWx0c1tbY2VsbF90eXBlXV0KICAKICAjIENoZWNrIGlmIHRoZSBtYXRyaXggY29udGFpbnMgYm90aCBnZW5lcwogIGlmICgiR2ZyYWwiICVpbiUgcm93bmFtZXMoY29yX21hdHJpeCkgJiYgIkFkY3lhcDEiICVpbiUgY29sbmFtZXMoY29yX21hdHJpeCkpIHsKICAgICMgRXh0cmFjdCB0aGUgY28tZXhwcmVzc2lvbiB2YWx1ZSBmb3IgR2ZyYWwgYW5kIEFkY3lhcDEKICAgIGNvX2V4cHJlc3Npb25fdmFsdWUgPC0gY29yX21hdHJpeFsiR2ZyYWwiLCAiQWRjeWFwMSJdCiAgICAKICAgICMgQXBwZW5kIHRoZSByZXN1bHQgdG8gdGhlIGRhdGEgZnJhbWUKICAgIGNvX2V4cHJlc3Npb25fdmFsdWVzIDwtIHJiaW5kKGNvX2V4cHJlc3Npb25fdmFsdWVzLCBkYXRhLmZyYW1lKENlbGxUeXBlID0gY2VsbF90eXBlLCBDb0V4cHJlc3Npb24gPSBjb19leHByZXNzaW9uX3ZhbHVlKSkKICB9Cn0KCmBgYAojIFBsb3QgY28tZXhwcmVzc2lvbiB2YWx1ZXMgZm9yIEdmcmFsL0FkY3lhcDEgcGVyIGNlbGwgdHlwZSAKYGBge3IgbWVzc2FnZT1GQUxTRSwgd2FybmluZz1GQUxTRX0KIyBFeHRyYWN0IEFkY3lhcDEgY29ycmVsYXRpb24gdmFsdWVzIGZyb20gdGhlIEdmcmFsIHJvdwpnZnJhbF9hZGN5YXAxX3ZhbHVlcyA8LSBzYXBwbHkocmVzdWx0cywgZnVuY3Rpb24oeCkgewogIHZhbCA8LSB4WyJHZnJhbCIsICJBZGN5YXAxIl0KICBpZiAoaXMubnVsbCh2YWwpKSBOQSBlbHNlIGFzLm51bWVyaWModmFsKSAgIyBDb252ZXJ0IE5VTExzIHRvIE5BIGFuZCBlbnN1cmUgbnVtZXJpYwp9KQoKIyBDb252ZXJ0IHRvIGEgMS1yb3cgbnVtZXJpYyBtYXRyaXgKZ2ZyYWxfYWRjeWFwMV9tYXRyaXggPC0gbWF0cml4KGdmcmFsX2FkY3lhcDFfdmFsdWVzLCBucm93ID0gMSkKcm93bmFtZXMoZ2ZyYWxfYWRjeWFwMV9tYXRyaXgpIDwtICJHZnJhbC1BZGN5YXAxIgpjb2xuYW1lcyhnZnJhbF9hZGN5YXAxX21hdHJpeCkgPC0gbmFtZXMocmVzdWx0cykKCiMgUmVwbGFjZSBOQSB2YWx1ZXMgd2l0aCAwIG9yIHVzZSBuYS5jb2xvciBhcmd1bWVudCBpbiBwaGVhdG1hcApnZnJhbF9hZGN5YXAxX21hdHJpeFtpcy5uYShnZnJhbF9hZGN5YXAxX21hdHJpeCldIDwtIDAgIAoKIyBDcmVhdGUgaGVhdG1hcApwIDwtIHBoZWF0bWFwKAogIGdmcmFsX2FkY3lhcDFfbWF0cml4LAogIGNsdXN0ZXJfcm93cyA9IEZBTFNFLCAgIyBObyBuZWVkIHRvIGNsdXN0ZXIgb25lIHJvdwogIGNsdXN0ZXJfY29scyA9IFRSVUUsICAgIyBDbHVzdGVyIGNlbGwgdHlwZXMKICBjb2xvciA9IGNvbG9yUmFtcFBhbGV0dGUoYygiYmx1ZSIsICJ3aGl0ZSIsICJyZWQiKSkoMTAwKSwKICBtYWluID0gIkdmcmFsLUFkY3lhcDEgQ28tZXhwcmVzc2lvbiBBY3Jvc3MgQ2VsbCBUeXBlcyIsCiAgbmFfY29sID0gImdyYXkiICAjIE9wdGlvbmFsbHkgbWFyayBOQSB2YWx1ZXMgaW4gZ3JheSBpbnN0ZWFkIG9mIHJlcGxhY2luZyB3aXRoIDAKKQpwcmludChwKQpnZ3NhdmUoaGVyZSgiaW1nL2hlYXRtYXBfY2x1c3Rlcl9jb2V4cC5wbmciKSwgcCkKYGBgCiMgUHJpbnQgY28tZXhwcmVzc2lvbiB2YWx1ZXMgZm9yIG9ubHkgR2x1NCBjbHVzdGVyCmBgYHtyIG1lc3NhZ2U9RkFMU0UsIHdhcm5pbmc9RkFMU0V9CnBfZ2x1NCA8LSBwaGVhdG1hcChyZXN1bHRzW1siR2x1NCJdXSkKcHJpbnQocCkKZ2dzYXZlKGhlcmUoImltZy9oZWF0bWFwX2dsdTRfY2x1c3Rlci5wbmciKSxwX2dsdTQpCmBgYAoKIyBTZXNzaW9uIEluZm8KPGRldGFpbHM+PHN1bW1hcnk+U2Vzc2lvbiBJbmZvPC9zdW1tYXJ5PgpgYGB7ciBzZXNzaW9uIGluZm99CnNlc3Npb25JbmZvKCkKYGBgCjwvZGV0YWlscz4KCg==